- Mobile bottom tab bar (icon tabs) with the top nav hidden on small screens;
content padding so it never overlaps
- data: scripts run via bun (not tsx/node) so the oven/bun build image needs no
node — fixes the Dockerfile data:build step
- README: features, data sources, dev/test/build/deploy, env vars
- Validated the production Docker image end-to-end: build succeeds (378MB),
container serves /healthz, /api/snapshot (104 fixtures), /api/predictions
(20k sims), the SPA with deep-link fallback, and the story dataset
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>