Open Net Worth
Open Net Worth is an open-source personal AI wealth assistant you run yourself: one ledger for your whole financial life, worked by an AI agent you control.
Practise reading price action on replayed and recorded market data. Simulated fills, no broker, no live feed.
Translation pending
FinanceTypeScript · HTMLGitHub @pavanarya24OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Practise reading the tape on replayed and recorded market data — with a simulated order ticket, an order-flow lab, and a score that grades your reads, not your P&L.
No signup. No broker. No live feed. Everything runs in your browser.
Quick start · What's inside · Data · Legal · Corrections
⚠️ Read this first
Tape Lab is a training tool, not a trading system. Fills are simulated with a documented candle-based model. Nothing here is a broker fill. There is no live market data and no broker connection — the app cannot place a real order, and it never asks for an account, a key, or a password.
Most people who day trade lose money. Nothing in this repository is financial advice, a signal service, or a track record.
| Flow Lab — order flow & DOM | Score — graded replay |
|---|---|
| Journal — tagged trade notes | Academy — the original course |
Seven pages, all of them practising the same skill from a different angle.
| Page | What you do | |
|---|---|---|
| 🕯️ | Terminal | Step through real OHLC bars one candle at a time at 0.5x–100x. The future is never revealed to the UI. Place market, limit and stop orders; set stop-loss and take-profit; flatten and reverse. |
| 🙈 | Blind Mode | Hide the chart and predict the next move. Your calls are recorded and scored — so you find out whether you can actually read it, or you just recognise the shape afterwards. |
| 🌊 | Flow Lab | Watch the tape: delta, CVD, volume-at-price, spread, microprice, aggression, and a top-10 DOM with imbalance, stacking, pulling and sweeps. Five blind scenarios (Spring, Upthrust, Absorption, Initiative Break, Responsive Fade) with the answer hidden behind "Reveal what it was". |
| 🎯 | Scenarios | Tagged historical setups you can jump back to and replay until the read is automatic. |
| 📥 | Data | Import your own 5-minute NQ/ES CSVs. Parsed in the browser, stored in IndexedDB, never uploaded anywhere. |
| 📓 | Journal | Every simulated trade with your notes, tags and screenshots. Exports to CSV. |
| 🏅 | Score | A multi-factor replay score — process, risk and read quality — not just whether the trade made money. |
Also in there: VWAP, custom-length EMAs (any period, each with its own colour), opening
range, full performance statistics, keyboard-driven stepping, and a clear
SIMULATED TRADING · HISTORICAL REPLAY badge on every screen so you never forget what
you are looking at.
You need Bun. Then:
bun install
bun run dev
Opening http://localhost:5173 gives you the landing page; the terminal itself is at
/app.html. A clearly-labelled synthetic demo dataset is seeded automatically, so the
terminal works the moment it loads — you do not need to own any market data to try it.
bun run dev # dev server (Vite)
bun run build # production build -> dist/
bun run preview # serve the built output
bun run typecheck # tsc -b --noEmit
bun test tests # unit tests
bunx playwright test # browser tests (chromium)
bun scripts/verify.ts # core data / replay / execution checks
This is the part most trading apps are vague about. Here it is plainly.
| Source | What it really is | Where |
|---|---|---|
| Synthetic demo dataset | A seeded random walk generated in your browser. Not recorded history. | Terminal (NQ/ES sessions), seeded on first load |
| Synthetic training feed | A deterministic synthetic event feed — seeded trades, Level-2 snapshots, book resets. Same seed ⇒ identical events. Labelled Synthetic Training Data everywhere it appears. | Flow Lab |
| Binance Spot BTCUSDT | A genuine recorded venue capture. | Flow Lab |
| Binance Vision historical aggTrades | A genuine recorded venue capture. | Flow Lab |
| Your own CSVs | Time, Open, High, Low, Close, Volume. Parsed in the browser, stored in IndexedDB. Never uploaded. | Data page |
The OHLCV datasets contain no Time & Sales, bid/ask or Level-2 information. Flow Lab's order-flow view is a separate engine on separate data.
The bundled recordings are included for individual educational use only and are not licensed for redistribution. See
LICENSEandTHIRD-PARTY-NOTICES.md.
src/data) — streaming CSV ingestion, OHLC validation, duplicate and gap
detection, timeframe detection, timezone normalization (default America/New_York), a
session index, and IndexedDB persistence. Only one session is ever loaded into the UI;
the full multi-year series stays on disk.src/replay) — candle-by-candle playback with step, reset, seek and
keyboard shortcuts. The future is never revealed to the UI.src/orders, src/execution) — market / limit / stop orders, stop-loss,
take-profit, flatten and reverse, with a documented candle-based fill model and a
configurable intrabar ambiguity rule.src/indicators, src/scoring, src/journal, src/scenarios) — VWAP,
custom-length EMAs, opening range, performance statistics, the replay score, blind-mode
predictions, tagged scenarios and the CSV journal.src/market/types.ts, src/market/feed.ts) — Tick,
Trade, Quote, OrderBookSnapshot and TickDataSource are declared but intentionally
unimplemented, so a real tick / Level-2 source can be added without redesigning the UI.src/flow) — a vendor-neutral MarketDataFeed interface feeding an
OrderFlowEngine (tape, delta, CVD, volume-at-price, spread, microprice, velocity,
aggression) and a separate DOMEngine (top-10 book, imbalance, stacking, pulling,
depletion, sweeps). Swapping in a real feed touches nothing below the interface.Kept in the README on purpose. If a claim in this project turned out to be wrong, the correction stays visible rather than quietly disappearing.
Correction (2026-10). An earlier version of this README said Flow Lab ran only on synthetic data. That stopped being the whole picture: Flow Lab now ships selectable sources — the synthetic feed described above, plus genuine recorded venue captures, each labelled in the app and listed with its basis in
public/legal.html. Separately, the terminal's NQ/ES sessions are a seeded random walk generated in your browser, not recorded history. A real vendor adapter (Rithmic, …) can implement the sameMarketDataFeedinterface with no engine or UI changes.
Correction (2026-10-24). A Databento CME Globex NQ MBP-1 capture was bundled into Flow Lab and has been removed from the app. A
?rawimport inlined the bytes into the shipped bundle, and that bundle is served to every visitor — so bundling it redistributed licensed CME data to the public. Flow Lab now offers the synthetic feed and two Binance captures. The Databento adapter (src/flow/ingest/databento.ts) and the on-disk fixture (tests/fixtures/databento_cme_nq.jsonl) remain for local verification; nothing served reaches them. The fixture is still a tracked file, so it is still published by this repository — removing it entirely would mean rewriting git history.
All rights reserved. This repository is public so the work can be read and learned
from; public availability is not a licence. No right to copy, modify, redistribute or
reuse is granted. See LICENSE for the full terms, including the restrictions
on the bundled market data recordings. A permissive licence can be granted later; this
notice can be relaxed but never retroactively tightened.
THIRD-PARTY-NOTICES.mdpublic/legal.html — served at /legal.htmlVercel (or any static host) builds with bun run build; output directory dist. The
landing page is the root entry index.html; the app is app.html. academy.html,
legal.html and shots/ are copied to the site root by Vite's public/ directory.
Tape Reading Academy — the original single-file course — is preserved unchanged at
/academy.html. See docs/COURSE_HANDOFF.md.
Built for practice. Not for advice.