I've got a bunch of software ideas that have been on the back burner, unimplemented, because they would have taken weeks full-time to implement, and who has that much spare time? When I came across GitHub Speckit a few months ago, I wanted to test it on a complicated personal project before risking it at work, and I've been wanting to do this one for ages. A twist is that I integrated the Zen MCP server into the dev process, so it uses multi-LLM consensus for design and implementation details.
"Theme Park Analytics Platform" tracks ride downtime and wait times across major US theme parks and calculates "shame scores" for unreliable attractions. There are plenty of sites that track wait times; the point here is to provide industry-wide insights and analysis. The interesting part isn't the app itself, it's the development guardrails I've built into the Claude Code workflow.
Tech Stack
- Python 3.11+ / Flask 3.0+ with SQLAlchemy 2.0+ Core (no ORM, raw SQL with centralized helper functions)
- MySQL/MariaDB with partitioned time-series tables, CTEs, window functions, and atomic table swaps (RENAME) for zero-downtime live ranking updates
- Three-layer caching: browser-side (5-min TTL with prefetch), thread-safe server-side QueryCache (MD5-keyed), and pre-aggregated ranking tables (<10ms response)
- Scikit-survival gradient-boosted models for breakdown duration prediction with 23-feature vectors
- Pydantic 2.5+ for validation, python-Levenshtein for fuzzy data reconciliation, Hypothesis for property-based testing
- Weather integration (OpenMeteo API) with tenacity retry logic; holidays library for feature extraction
- Chart.js 4.4 frontend; Gunicorn behind Apache reverse proxy; AWS SSM Parameter Store for production config
Testing Regime (935+ tests)
- Layered testing: Unit tests (~800, mocked DB, <5 sec total) + Integration tests (~135, real MySQL with transaction rollback)
- Contract tests validating OpenAPI schemas
- Golden data tests with hand-computed expected values for regression catching
- Replicated dev database for new feature development and integration tests
- TDD enforced: Red-green-refactor or it doesn't ship
Deployment Safeguards
- Pre-flight validation (syntax, imports, deps)
- Automatic snapshot before deploy with one-command rollback
- Pre-service validation runs before gunicorn starts
- Smoke tests with automatic rollback on failure
- Precommit validation via Zen AI before any commit
Design
The front-end was iteratively designed with Claude Desktop. The original prompt was to create a website theme based on the work of Disney legend Mary Blair, best known for creating It's a Small World and widely considered the most influential of Disney's conceptual artists.
What's Next
The next thing to add is pattern recognition, once there's more than a couple of weeks of data. I'm interested in seeing whether there's any relationship between weather and reliability.
Screenshots
Main Dashboard
Performance Charts
Wait Times Heat Map
Shame Scores by Park
Performance Metrics