About the site

An editorial frontend around Python-authored economic models.

The models are written as Marimo notebooks, exported as browser-run apps, and embedded in an Astro site that adds context, navigation, and a more polished public presentation across macroeconomics, microeconomics, and econometrics.

Publishing stack

Three layers, each doing a specific job well.

  • Marimo remains the source of truth for the economic logic, UI controls, and plots.
  • Simulated econometrics notebooks use deterministic data-generating processes so the ground truth stays visible.
  • Astro handles the static content pages, layout system, and navigation.
  • Vercel serves the generated site as static assets with preview deployments and low operational overhead.

Why static

Cheap to host, simple to reason about, and still interactive.

By exporting the notebooks to WASM-backed HTML, the model computations run in the visitor's browser instead of on a long-lived Python server. That keeps the deployment footprint small while preserving interactive sliders, graphs, and recalculation.

Hybrid rule

Marimo first, JavaScript only when it earns its keep.

  • Use Marimo for parameter-driven, equation-based, and solver-friendly teaching models.
  • Reserve native JavaScript for direct manipulation, game-like interaction, or unusually bespoke browser UX.
  • Keep the economic specification consistent across both lanes so the site catalog stays coherent.

Charting choice

Chart.js is optional infrastructure, not the authoring workflow.

Chart.js is a solid choice when a future native-JS model needs polished browser-side charts. But it does not replace Python notebooks, model solvers, math exposition, or the authoring speed you get from Marimo. The current site therefore treats Chart.js as a possible rendering layer inside the native-JS lane, not as the main production path for theory or econometrics notebooks.