How it works
Two minutes, three questions, one number.
The mechanics in full, including the arithmetic. A score you cannot inspect is a score you cannot trust.
Reflect, learn, answer
Three questions a day.
Reflect. Free text, your own words. The parser extracts tickers, tags, instrument and any priced round trip. Quote your fills and it stores a trade; don't and it stores the day's summary. Your own account of the money is never overwritten by inference.
Learn. One lesson matched to what you wrote. When nothing calls for something specific you get the next lesson in your teaching sequence — ordered by difficulty within category, not by the order lessons happened to be written.
Answer. Your adopted rules, one line each: kept, missed, or unanswered. Unanswered stays unanswered — a tracker that makes silence mean "yes" is measuring your patience with the app.
40 / 35 / 25
The Practice Index, in full
Three components, fixed weights, and every input is something you decided.
Practice Index = round( 0.40 × learning% + 0.35 × discipline% + 0.25 × win rate% )
Capped at 100. Recomputed when you finish a lesson, save a check-in, or log a trade.
Learning — 40%
Lessons finished, against a goal set by the experience level you pick at the start — 150, 300 or 500. Not against the library’s size: if it were, new lessons would lower your score for doing nothing. The same 22 lessons scored Level 6 when the library held 160, and Level 5 when it held 500.
Discipline — 35%
Average adherence across the rules you adopted. An unanswered rule counts as zero rather than being excluded, so a new account reads 0 rather than a flattering blank. The floor is four rules, because one easy rule you never break would read as perfect discipline.
Win rate — 25%
The only market-facing input, and the smallest on purpose. Where a broker covers a day the broker’s record wins, so a day is never counted twice and a hand-logged duplicate cannot inflate it. Nothing here rewards trading more, or trading at all.
Why that quarter can be trusted
A win rate is only as good as the trades behind it. Three things found on real connected accounts while building this — none of them unusual, all of them what happens when nobody checks.
Options that expire are still trades
A contract that expires worthless is never sold, so a tool reading only sales reads only the winners. Counting expiries, exercises and assignments turned 265 imported trades into 609 on the first real account — and surfaced a large options loss inside a period that had read as a gain.
An unmatched sell is not a short
In one account, 124 of 311 trades were phantom shorts — shares bought before the import window, and dividend reinvestments down to 0.2651 of a share, paired backwards with the profit and loss inverted. Every one fed the win rate.
The same week, counted twice
Two synced trades gave a 50% win rate. One hand-logged entry for a trade the broker had already reported moved it to 67% — identical trading, counted differently. Whichever days your broker covers, the broker’s record is the one that counts.
20 levels · 4 ranks
None of it can be bought.
Twenty levels across four ranks, derived from the Practice Index and nothing else.
| Rank | Index | What it means |
|---|---|---|
| Novice | 0 – 40 | Building the habit. Most of the score is still ahead of you. |
| Apprentice | 41 – 65 | Showing up consistently, rules mostly held. |
| Professional | 66 – 85 | Reading deliberately and keeping rules under pressure. |
| Expert | 86 – 100 | Sustained across all three components. |
Never tied to how often you trade, how large you trade, or how a trade turned out. That is a hard rule in the codebase, not a preference.
Minimum four, chosen by you
Scored on your rules, not our library.
Only what you adopted is scored — which is what stops our content work from moving your number.
Your set, not our library
You adopt rules from the library — position sizing, honouring stops, no revenge trades, no trading the open. If every rule we shipped counted, writing new rules would lower your score for behaviour that had not changed. Adding a rule to the library moves nobody. The floor is four, so the score cannot be gamed down to one easy question.
Two signals, or silence
A recommendation appears only when a rule with low adherence and your trade data point the same way. One signal alone is a coincidence. Findings hold to the same standard: ten closed trades minimum, a real gap, and the figures printed on the card. An app that speaks confidently about four trades is noise with a serious voice.
One saved day a month, every plan
Streaks that survive real life.
A streak normally dies the first day you skip. Here you get one saved day a month, on every plan including free — and if your streak would have broken, it is spent automatically. There is nothing to switch on, nothing to claim, and no way to waste it by accident: the app works it out the next time you open it. A habit tool that resets a hundred-day streak because you had flu has taught you the streak was never about the habit.