The Trader's Hindsight
- Role
- Founder and only engineer
- Built
- Dec 2025 to now
- Price
- From $12 a month
- Stack
- Next.js 16, React 19, TypeScript, Supabase (PostgreSQL), Node.js
The question it answers
A journal shows what happened. It does not say what each habit cost, or whether the month would have been positive without it. The Trader's Hindsight answers that.
What it does
(opens the screenshot at full size)- Hindsight
- Replays a month as if each costly habit never happened, then ranks the habits by the dollars they cost.3
- Foresight
- A read-only co-pilot. It sends a risk check to Telegram as each trade opens, then grades its own warnings A to F against how the trades closed.4
- Firm Fit
- Replays a trader's real trades against each prop firm's rule book to estimate the chance of passing.5
- Rule tracking
- Tracks the rules of any prop firm, with ready-made presets for FTMO, FundingPips, FundedNext, The5ers and Alpha Capital. It disconnects an account automatically when it breaches one.
- Insight
- An AI coach on the Anthropic Claude API that reads a trader's full history.
- Trade sync and import
- Read-only sync from cTrader (Open API) and MetaTrader, and CSV or Excel import from five platforms.
- Billing
- Cards through Flutterwave and crypto through NOWPayments, both confirmed by webhooks.
(opens the screenshot at full size)
(opens the screenshot at full size)The core idea, working
Hindsight replays a trader's month without each costly habit and ranks the habits by the dollars they cost3. The panel below shows the idea on made-up trades that come labelled with their habits. Take a habit out to see the month without it.
What did these habits cost this month?
Example data: 15 made-up trades.
June net P&L
−$610
Take a habit out to replay the month without it.Habits are ranked by what each one cost.
Trades by day of June. Letters mark the habits behind a trade; dashed outlines are trades taken out.
- Revenge trades after a losscost $670
- Sizing up after a losscost $500
- Tiltcost $440
Each habit's cost is worked out on its own. With two taken out, a trade that matches both is taken out once.
See the 15 trades
| Day | Pair | Habits | P&L | Replayed |
|---|---|---|---|---|
| 2 | EURUSD | None | +$180 | +$180 |
| 3 | GBPJPY | None | −$150 | −$150 |
| 3 | GBPJPY | Revenge trades after a loss | −$220 | −$220 |
| 3 | EURUSD | Revenge trades after a loss, Sizing up after a loss, Tilt | −$260 | −$260 |
| 5 | XAUUSD | None | +$240 | +$240 |
| 8 | EURUSD | None | −$130 | −$130 |
| 8 | EURUSD | None | +$90 | +$90 |
| 10 | USDJPY | None | +$210 | +$210 |
| 11 | GBPUSD | None | −$160 | −$160 |
| 11 | GBPUSD | Revenge trades after a loss | −$190 | −$190 |
| 11 | XAUUSD | Tilt | −$180 | −$180 |
| 15 | EURUSD | None | +$150 | +$150 |
| 17 | GBPJPY | None | −$140 | −$140 |
| 17 | EURUSD | Sizing up after a loss | −$240 | −$240 |
| 22 | USDJPY | None | +$190 | +$190 |
(opens the screenshot at full size)Firm Fit: the odds before paying for a challenge
Firm Fit estimates a trader's chance of passing each prop firm's challenge from their own trading history, before they pay for one. On the public page, the statement is read in the browser and never uploaded5.
Security decisions
Traders connect real broker accounts, so I designed the app RLS-first: the database decides who can read a row, not the API route. My background is in security: an M.Sc. in Cyber Security and over a year as a security specialist.
- Each user sees only their own rows
- PostgreSQL row-level security decides what every user can read and write, so the API is not the only line of defence.
- A password is not enough
- Multi-factor sign-in is enforced in the database itself, with recovery codes, so a lost phone does not lock a trader out.
- Broker access is read-only
- Connections cannot place, change or close a trade, and cannot move money.6
- Broker tokens are sealed
- Tokens are encrypted before they are stored, so a copy of the database does not hand over broker access.
- Statements stay on the trader's device
- Firm Fit reads statements in the browser. They are never uploaded.
- Checks run without me
- Secret scanning on every CI run, a scheduled dependency audit, and error monitoring in production.
Tested, then shipped by the pipeline
The repository has 279 automated test files, about 50,500 lines7. A push to main puts the web app live only after these steps pass, in this order.
- Secret scanEvery tracked file
- LintIncluding rules that keep server code out of the browser
- Type check
- TestsEvery test file, on every push
- Production build
- DeployThe web app, from main only
A weekly audit reports dependencies with known vulnerabilities.8
The numbers, and where they come from
Every figure about the product, with its source. The repository figures are counted by a script from the private code.
| What | Figure | Source |
|---|---|---|
| Lines of TypeScript, not counting tests | 116,641 | Private repository |
| Pages | 38 | Private repository |
| API routes | 97 | Private repository |
| Automated test files | 279 | Private repository |
| Lines of tests | 50,465 | Private repository |
| Commits since December 2025 | 1,387 | Private repository |
| Price | $12 a month | tradershindsight.com |
See how it is built, on a call
The code is private, and so is the product's logic. On a call I can show you how it is built: the architecture, the tests and the delivery pipeline.