Inspiration
Students kept having the same problem: walk to the gym, find it packed, then either wait or skip the workout. We wanted to turn that frustration into a fast “go now / go later” decision tool. RecLive was inspired by real campus behavior, not just a demo idea.
What it does
RecLive shows live occupancy for UW RecWell facilities (Nick and Bakke), broken down by areas and floors. It overlays crowd intensity on real floor maps and highlights low/medium/peak crowd windows so users can plan ahead. It also includes stale-data handling and fallback behavior so the app stays useful when upstream data is delayed.
How we built it
We built a full pipeline:
- React + TypeScript + Vite frontend (mobile-first, PWA-ready)
- Python backend with FastAPI for forecast serving
- Data ingestion job that pulls live occupancy and stores history in MySQL
- Custom XGBoost forecasting pipeline with feature engineering (time, academic calendar, weather, lag trends, sensor quality)
- Forecast outputs transformed into user-facing crowd bands and best/avoid windows
Challenges we ran into
The hardest part was data quality and reliability. Occupancy feeds can include stale values, flatlines, duplicates, and sudden impossible jumps, so we had to build cleaning and quality checks before modeling. Another challenge was mapping real spaces to floor-map polygons so the heatmaps felt accurate and useful on phone screens.
Accomplishments that we're proud of
We’re proud that RecLive is not just a mock UI; it’s a working end-to-end system with live demo value. We implemented custom floor heatmaps, actionable forecast windows, and a robust model lifecycle with guardrails, drift monitoring, and rollback support. We also kept privacy-first design by using aggregated occupancy only.
What we learned
We learned how much product quality depends on data quality, not just model choice. We also learned to bridge ML output and UX: raw predictions are less valuable than clear decisions users can act on quickly. Finally, we gained strong experience shipping full-stack ML in a real-time context.
What's next for RecLive
Next we want to:
- Expand forecasting to more activity categories
- Add user-facing alerts (“best time to go” notifications)
- Improve explainability (why a window is marked peak/low)
- Add longer-term validation dashboards and model monitoring
- Pilot RecLive beyond UW with other campuses or recreation centers
Built With
- fastapi
- mui
- mysql
- python
- react
- typescript
- vite
- xgboost
Log in or sign up for Devpost to join the conversation.