on GitHub

Revenue forecast: as frontend

The same forecast one more time, over the exact same data.py as page 2, untouched. What changed is the authoring: this page is plain MDX. Every chart is a React component that reads db.simulate and db.outcomes by name, so the whole UI is now frontend you could drop into any React app, pointed at a data.py hosted anywhere.

Frontend and backend, fully separated

In Streamlit the UI and the server are one process; here they've fully separated. No page() runs on the server for this page: the components render in the browser and query the RPCs directly (DuckDB-WASM). The data.py is a plain backend the frontend talks to by name; move it to its own host and these same tags keep working.

Assumptions

Median (month 12)……
Downside (P10)…
Upside (P90)…
…
01
Chance of hitting target
Projection cone
Loading…
Where month 12 lands
Loading…