Building the Waikīkī Smart Dashboard – Architecture Decisions & This Week’s Wins
This week I made serious progress on the Waikīkī Smart Dashboard — the project I’m building to track and summarize real-time traffic and local events in Waikīkī. It’s not just a cool concept — it’s teaching me a ton about software architecture, APIs, and designing for real-world users (including myself).
🧱 Project Stack & Architecture
From the start, I knew I wanted this project to be more than a front-end demo. It’s built to scale, to integrate with real data sources, and to give users a clear snapshot of what’s happening in Waikīkī — all without relying on expensive third-party tools.
Tech stack:
- Backend: FastAPI (Python)
- Frontend: React with TailwindCSS
- Map layer: MapLibre GL with custom overlays
- Data sources: TomTom Traffic API, Honolulu construction/event feeds, and OpenAI/LLaMA 3 summaries
- Deployment: Local dev for now, aiming for a containerized public setup
A core goal this week was keeping the architecture modular and async-friendly. I’m balancing real-time API fetching, background LLM summaries, and responsive UI updates — without letting any one part bottleneck the others.
⚙️ Highlights From This Week
- ✅ FastAPI backend serving structured traffic incident data
- ✅ Dynamic summaries powered by OpenAI (testing LLaMA 3 soon)
- ✅ Built a base map overlay with live incident points
- ✅ Early support for predictive layers (recurring rush hour, school traffic, and construction data)
This is more than just a project — I’m designing the backend like a product. Clean endpoints, flexible models, and potential reuse for future tools I build.
💡 Design Philosophy
Waikīkī is chaotic — traffic, sirens, events, tourists, locals, detours. My dashboard should cut through the noise and surface useful info fast.
Core UI goals:
- Lightweight layout, mobile responsive
- Summaries that are casual, quick to skim, and actually helpful
- Filterable map layers (by time, type, severity)
- Early warning system for avoidable delays
Instead of dumping raw traffic logs, the dashboard tells you: what’s happening, is it bad, and should I avoid it?
🧠 What’s Next
Here’s what I’m lining up next:
- Add historical data to train traffic prediction logic
- Build an admin panel to manage summaries, incidents, and API keys
- Test LLaMA 3 locally and swap it in for OpenAI
- Start public deployment (maybe Fly.io or Railway)
This is already the most technically and personally rewarding thing I’ve built. Every decision — from how I model the incident data to how I summarize it — pushes me further as a software engineer.
Mahalo for reading! If you're into civic tech, local dashboards, or building your own platform from scratch — I’d love to connect.