Skip to content

Interactive app

The repo ships a Streamlit app that puts the model behind sliders. It is the zero-install way to probe the feasibility boundary: pick an orbital design and an Earth baseline, then drag the uncertain assumptions and watch the verdict, waterfalls, thermal stack, and architecture recompute live.

Live demo

spacedc-mdao.streamlit.app — deployed on Streamlit Community Cloud, no install needed.

Run it locally

uv run --extra app streamlit run streamlit_app.py

The app extra is deliberately slim — streamlit, plotly, networkx on top of the base package. It does not pull panel/kaleido (the viz extra) or the heavy solver stack (mdao), so it deploys inside the free tier's memory budget.

What each tab shows

  • Overview — the LCOC verdict (orbital as a multiple of the Earth baseline), the delivered-compute and cost waterfalls, the binding constraints, and the single-driver thresholds at which orbital would match Earth.
  • Sensitivity & uncertainty — a tornado of one-at-a-time LCOC swings and a Monte Carlo fan over the uncertain drivers, run around the selected scenario's baseline.
  • Thermal & architecture — the radiator area-vs-temperature curve, the net-flux waterfall, the chip-to-radiator temperature ladder, the orbit-transient series, the power Sankey, the mass treemap, and the constellation graph.
  • Learn — the delivered-compute principle, the two workload regimes (text inference vs rich multimodal output), and the full assumption-provenance table.

How the sliders work

Each slider defaults to the value the selected scenario actually evaluates at, so an untouched app reproduces compare() exactly. Moving a slider adds an entry to the overrides dict threaded through evaluate_space, so the headline, waterfalls, thermal, and architecture views are override-aware. The app is a thin layer over the public API: model glue in app/data.py, rendering in app/tabs.py, and the existing figure builders in orbitdc.viz.plotly_figures.

Deploy your own

Point Streamlit Community Cloud at a fork of the repo with streamlit_app.py as the entry point. It installs from requirements.txt (the package via . plus the three app libraries).