Project Info
Inspiration
Finding parking in San Francisco and Berkeley is a nightmare. We've all driven in circles for 20 minutes, missed appointments, and gotten street cleaning tickets. Google Maps shows you 5 parking lots — not the 200+ street spots that actually exist. We wanted to build something that actually works: real data, real-time, and hands-free while you're driving.
What it does
ParkSmart is like Waze, but for parking. It shows you real available parking spots on a live map, lets you navigate to them with turn-by-turn directions, and lets you control everything with your voice while driving. Key features: Voice AI : say "find me free parking near the City College of San Francisco" and Claude AI searches 200+ spots, picks the best one, and starts navigation — all hands-free. Real parking sign data : we integrated official SFMTA data (7,760 blockfaces) so every spot shows the exact posted sign: time limits, street cleaning schedules, permit zones. 3 smart modes : Driving (find a spot), Parked (manage your time, get warned before street cleaning), Walking (switch to foot navigation) .
How we built it
Frontend: React + TypeScript + Vite + Tailwind CSS + Mapbox GL JS Backend: FastAPI + Python AI: Claude Sonnet 4.6 with real tool use — Claude actually calls our parking search API, routing API, and availability API rather than just generating text Data sources: OpenStreetMap (street parking), Google Places (parking lots), SFMTA Open Data (official SF parking regulations + street sweeping schedules) Database : SQLite with 7,760 parking regulations and 37,856 street sweeping records downloaded from SF Open Data
Challenges we ran into
Data accuracy: OpenStreetMap has street parking data but it's inconsistent. We built a geometry-based estimation algorithm to calculate available spots from road length, then layered official SFMTA sign data on top for SF streets. Voice AI latency: A full voice round-trip (speech → Claude → 2 API calls (Mapbox and Claude) → response) takes 11-12 seconds in the real world, not the 2-3 seconds we expected. We redesigned the UI to show clear "thinking" states so users know the AI is working. GPS on mobile: Safari on iPhone blocks GPS on HTTP connections. We built a smart fallback system that detects your city (Berkeley vs SF) and falls back gracefully when GPS is unavailable. Marker clutter: Our first version showed 388 parking markers in Berkeley — it looked like a bug. We built density controls and distance-based filtering to keep the map clean and readable.
Accomplishments we're proud of
Claude AI doesn't just talk about parking — it actually controls the app. Say "navigate to the closest free spot" and NavigationPanel launches automatically with a real route. We're showing more parking options than Google Maps in SF — 200+ spots vs their typical 5-10 lots. Real SFMTA government data means we can tell you exactly when street cleaning happens on your specific block, not just "check the signs." Built a fully functional PWA that judges can install on their phone in 30 seconds.
What we learned
Real-world AI latency is 5-10x slower than sandbox testing. Always build for the real number. Government open data is incredibly powerful when you know where to find it. SF's SFMTA dataset has every parking sign in the city — we just had to download and query it. Voice UX is completely different from text UX. Users need visual feedback at every step because they can't see what's happening.
What's next
AI Parking Agent: proactive spot recommendations that update every 30 seconds, spoken aloud while you drive SpotAngels integration: crowdsourced parking data from millions of real users across the US React Native mobile app: reuse 80% of the web logic for a real App Store app Berkeley parking data: partner with the City of Berkeley for official sign data like we have for SF Predictive availability: use historical crowdsource data to predict which spots will be open before you arrive
This project did not link a GitHub repository.
Analysis
No indexed repository for this project, so there are no commit stats to show.
Technology
- FastAPIUnchecked
- PythonUnchecked
- ReactUnchecked
- Tailwind CSSUnchecked
- TypeScriptUnchecked
No repository was indexed for this project, so these Devpost claims have not been checked against code.
AI coding agents
No repository was indexed, so agent usage could not be checked.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
No repository was indexed, so there is no codebase to measure.
This project did not link a GitHub repository, so there is nothing to diagram.
This project did not link a GitHub repository, so its feature claims have not been checked against code.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.