FinTech / Social Learning

Social Forex, Discipline-Ranked Trading Simulator

A forex simulator where the leaderboard ranks you on the rules you keep, not the money you make.

  • Discipline score computed from behaviour — stop set, risk respected, reason written, no revenge trading
  • Leaderboard ranked on discipline; profit is shown beside each name and never ranked on
  • Risk-first order ticket — you state what you will lose and position size is derived from it, never typed
  • $100 starting balance instead of $100,000, with spread and swap charged like a real broker
Flutter 3.44DartFirebase AuthCloud FirestoreCustomPainterFirestore Rules+1
App preview — Social Forex, FinTech / Social Learning built with Flutter 3.44 and Dart by Ayan ParvaizScreen preview — Social Forex, FinTech / Social Learning built with Flutter 3.44 and Dart by Ayan Parvaiz
Forex.inc · 2026

Project Overview

A Bengali-first forex learning app — part trading simulator, part social network. Most simulators hand out a $100,000 demo balance and congratulate reckless wins, so beginners carry that confidence to a real $100 account and lose it. This one starts you at $100, refuses an order without a stop-loss and a written reason, derives position size from the risk you accept, and charges real spread and swap. The leaderboard ranks on a discipline score computed from behaviour, so a trader down 4.2R for the year can sit first while the biggest winner sits fifteenth.

Requirements & Features

  • Discipline score computed from behaviour — stop set, risk respected, reason written, no revenge trading
  • Leaderboard ranked on discipline; profit is shown beside each name and never ranked on
  • Risk-first order ticket — you state what you will lose and position size is derived from it, never typed
  • $100 starting balance instead of $100,000, with spread and swap charged like a real broker
  • Trade journal with R-multiples, expectancy, drawdown and recovery maths
  • Social layer — profiles, connections, visitor lists, ranked feed, reactions, live notifications
  • Fully bilingual বাংলা / English, plus 1,498 lines of original Bengali trading curriculum

Challenges I Solved

  • On a $100 account, risking 1% with a 20-pip stop works out to 0.005 lots — below the 0.01 minimum any real broker accepts. Most simulators quietly round up and teach a lie; this one refuses the order and shows the arithmetic.
  • The budget did not cover a server, so 338 lines of Firestore rules do the work a backend would. A client may write what it did, never what it scored — discipline scores, badge points and trade counts are unwritable from any client.
  • Binary floating point silently under-sized every clean position: 0.05 / 0.01 evaluates to 4.999…, so rounding down to the broker lot step produced 0.04. Caught by a unit test written before any screen existed.
  • Firestore matches rules against the query rather than the returned rows, so a participants-only connection rule made counting anyone else’s connections unprovable and broke every profile but your own.

What I Delivered

Full Flutter app for iOS and Android: the calculation engine (position sizing, R-multiples, expectancy, drawdown, discipline scoring) built and tested first, a hand-drawn CustomPainter candlestick chart, the Firestore data layer with an on-device twin, the social graph, and 338 lines of security rules standing in for a server.

Results

  • 104 passing tests over 12,667 lines of application code
  • 8 privilege-escalation attempts verified refused against the live project with real signed-in tokens
  • Runs end to end with no backend credentials — every read goes through a repository with both a Firestore and an on-device implementation

Technology Stack

Flutter 3.44DartFirebase AuthCloud FirestoreCustomPainterFirestore RulesPBKDF2
Client
Forex.inc
Completed
2026
Platform
iOS & Android
Duration
2026

Want something like Social Forex?

I scope in 48 hours and ship in weeks — not quarters. Tell me what you're building.

More case studies