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


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
- Client
- Forex.inc
- Completed
- 2026
- Platform
- iOS & Android
- Duration
- 2026
Social Forex screenshots
5 screens from the shipped product. Click any shot to enlarge it.
Portfolio & Discipline Score Risk-First Order Ticket Leaderboard Ranked on Discipline Community Feed Trader Profile & Badge Ladder
Want something like Social Forex?
I scope in 48 hours and ship in weeks — not quarters. Tell me what you're building.


