Planning before complexity
A fictional first-run example shows how trading costs change the same investment. Private workspaces support goals, fee projections and contribution or stress scenarios.
GitHub
Portfolio research platformPortfolio planning and historical research with validated prices, exact accounting, immutable inputs, and independent calculation checks.

MarketLab combines portfolio planning with saved historical experiments. A person can aggregate manually entered accounts and debts, validate stock-price history, compare a next-close trend rule with buying and holding, inspect costs and assumptions, and save an experiment that can be independently replayed.
A fictional first-run example shows how trading costs change the same investment. Private workspaces support goals, fee projections and contribution or stress scenarios.
Server Alpha Vantage, browser Alpha Vantage and CSV imports converge on validation and immutable owner-scoped snapshots with explicit provenance.
BigInt money and share arithmetic, declared events and causal next-close execution preserve the inputs behind each report.
An owner may request C++ checks or independent Python replay. Separate reviewed sharing publishes an allowlisted, expiring, revocable summary.
A chart is not enough to trust a backtest. Imported prices, cash arithmetic, timing assumptions and saved inputs need to remain inspectable. In a background service, a crashed or stale worker must not overwrite the authoritative result.
Fetch daily closes on demand or import one symbol's historical CSV with source, currency and adjustment declarations.
Cash uses BigInt cents and holdings use millionths of shares. Signals execute at the next supplied close, with defined fees, slippage, splits and dividends.
The hosted React/TypeScript application stores authoritative workspaces and reports in Workers/D1. A separate Node/MongoDB service owns copied research inputs and background jobs.
MongoDB-clock leases and tokens govern heartbeats and finalization. A crashed calculation can be retried without allowing an older worker to replace the current durable result.
Three local service-workload runs completed 3,000 verified jobs with zero failures, combined throughput 39.96 jobs/s and client-observed p99 319.77 ms. The workload used two calculation workers, eight closed-loop clients and 500 observations per instrument.
These are local workload measurements, not production capacity or live-site latency. Data imports are user-triggered historical paths, not a streaming feed. Browser-imported provider data retains distinct provenance. Backtests are research comparisons, not forecasts.
A concise engineering brief and direct links to the implementation and supporting evidence.
A two-page project brief covering the purpose, workflow, design decisions, recorded checks, and limits.