Skip to content

v1.2.0 - The whole app redesigned

Choose a tag to compare

@simonro simonro released this 12 Sep 21:40
· 21 commits to main since this release

The whole app was redesigned, not recoloured. Plus the fixes found while doing it.

Not financial advice. Not a signal service. Every screenshot is the synthetic demo seed.

The dashboard opens on a live curve

Your net P&L sits over the equity curve itself. Hover anywhere on it for that day's running balance
and what the day made or lost.

Under it, every session in the period is a single strip, one bar per trading day, gains above the
line and losses below. Scrub it with the mouse and the readout follows; click a bar to open that
day. Nine months of behaviour in about sixty pixels.

Measures that say what they mean

Each measure carries your own goal as a tick mark rather than a progress bar, and a plain-language
read underneath. "Win / loss size 0.66" now also tells you: your average win is $337, your average
loss is $508, you win often and small and lose rarely and big.

Day Review draws the session

The day is one picture: running P&L from the open to the close, with every trade marked where you
entered it. An afternoon giving back a morning is visible before you read a number. The measures
line underneath reports the session's high water mark and how much of it you handed back.

Each trade's grade now carries the reason it was given, reachable by hover, by keyboard focus, or by
clicking it.

The discipline score is gone. It has been replaced by "rule breaks", counted from what actually
happened rather than from a score.

One switch for the whole of Reports

Bars or full numeric tables, flipped for every breakdown on the page at once. Rows with fewer than
ten trades are marked "thin" and dimmed, so a one-trade strategy at 100% cannot sit above a
strategy with eighty trades behind it.

Elsewhere

  • A trade row opens the trade. The in-place expand is gone; it showed a subset of the detail page.
  • The calendar gains "The year behind it": every month with its running balance carried forward.
  • MFE, MAE and exit efficiency appear anywhere a trade is listed, including the trade's Stats tab.
  • The month grid and Day Review open on your most recent session rather than on today, which is
    blank on a weekend or before the open.

Fixes

  • The goals you set were never reaching the dashboard. The cards read the wrong field names, so
    every goal silently fell back to a default and a saved change never appeared.
  • Equity curves were drawn in the accent colour rather than the result colour.
  • A profit factor with no losing trades displayed as infinity. It is a dash: no losses means no
    measurable edge, not an infinite one.
  • seed_demo.py never created the library tables, so a freshly seeded database returned 500 from
    the Settings endpoints until the server was restarted.
  • Asking for a day review without an API key returned a 500 with a raw exception. It now tells you
    which key to set.

The demo data

Reshaped to look like a real discretionary record rather than a coin flip: 278 trades over 52
sessions, a 70.9% win rate, 77% green days, a 1.6 profit factor, and winners that are smaller than
the losers so exit discipline is the visible weakness. The overtrading days and the losing week are
still in there, because catching those is what the journal is for. Six day reviews are seeded, so a
fresh clone shows the coaching report instead of an empty page.

Install

Download the zip below, unzip it, then follow the Quick Start in the README. Python 3.11 or newer
and Node 18 or newer. Run python scripts/seed_demo.py for the synthetic data in the screenshots.

Upgrading from v1.1.x

Your trades (backend/trading_journal.db) and your keys (backend/.env) are not part of a release,
so updating never touches them.

If you cloned with git:

git pull
cd frontend && npm install && cd ..
launch.bat

If you downloaded the ZIP: unzip this one into a new folder, copy your two files across, run
npm install in frontend/ once, then start it.

old-folder/backend/.env                 ->  new-folder/backend/.env
old-folder/backend/trading_journal.db   ->  new-folder/backend/trading_journal.db