This dashboard follows the Unix philosophy: small tools that do one thing well, composed via text streams. Each component is designed to be independently useful.
GET / HTML dashboard (auto-refreshes)
GET /backstage This documentation page
GET /api/questions JSON: raw question data
GET /api/summary JSON: aggregate statistics
GET /text Plain text for terminal piping
CLI Usage
./metaculus # Default: show 8 questions with TTE
./metaculus list 20 # List more questions
./metaculus show <id> # Detail view for one question
./metaculus hot # Most forecasted questions
./metaculus closing # Questions closing soon
./metaculus ai # AI-related predictions
./metaculus serve 8080 # Start web server
Design Decisions
Babashka over Clojure: Fast startup (~50ms) for CLI responsiveness
Shell scripts for collectors: Composable, debuggable, POSIX-portable
JSON as interchange: Universal format, easy to pipe
No JavaScript framework: Static HTML with inline CSS
Effect-per-state mapping: Visual encoding of uncertainty
Related Projects
sysdash: System status dashboard with same architecture
TTE: Terminal Text Effects library
Chafa: Image-to-text converter for terminal graphics