Inspiration

Parking in Seattle is frustrating, time-consuming, and unpredictable. We were inspired by our own experiences of circling blocks, unsure whether spots were available, affordable, or even safe. Existing solutions often lack real-time accuracy or fail to combine key information in one place.

SeaPark was created to solve this by giving drivers a live, reliable view of parking conditions, helping them make faster and smarter decisions.

What it does

SeaPark is a real-time parking assistant that displays availability, pricing, and safety insights on a single interactive map. It combines public data with user-generated reports to give a more accurate picture of current conditions.

We model parking availability as a time-dependent function:

[ A(t) = A_0 - \lambda t + U(t) ]

Where:

  • (A(t)) = available parking at time (t)
  • (A_0) = initial availability
  • (\lambda) = rate at which spots are occupied
  • (U(t)) = user-reported updates

How we built it

SeaPark was developed as a mobile-first application:

  • Expo Go with JavaScript and TypeScript for the frontend
  • Python for backend logic and API integration
  • Firebase for real-time database and syncing
  • Public APIs for maps and parking data
  • Socrata App Token from data.seattle.gov for high-frequency data retrieval and rate-limit management
  • Gemini API for natural language processing and intelligent parking assistance
  • JSON for data exchange

Challenges we ran into

  • Keeping real-time data fast and consistent across users
  • Handling unreliable or outdated public data
  • Optimizing map performance with multiple live layers
  • Ensuring trust in crowdsourced reports

What we learned

  • Building real-time systems with Firebase
  • Integrating multiple APIs into one experience
  • Designing efficient and clear map-based interfaces
  • Balancing crowdsourced data with reliability

Built With

Share this project:

Updates