If you live in a dense area of San Francisco, you can’t consistently park on the same street. And because every street has its own cleaning schedule you have this constant overhead to track and move your car before you get a 90 USD ticket.

I got 7 last year, there were 500K overall in 2023 so it’s a common problem and I could use some automation. Here’s what I’ve built:

Using the street line segments and schedule pairs:

  1. Calculate the bearing angle for each street line which is the orientation considering Earth’s shape.

  2. Offset it orthogonally to distinguish block sides (N,S,E,W).

  3. Use GPS ping to search line segments and block sides. Brute forcing this was super slow ~700ms so I divided the city into a grid to check for membership, bringing it to <5ms.

sf_bounds


 

To get first users I posted on Reddit twice, first to get beta testers, and then announcing the App Store launch:

  1. Made an app that reminds you to move your car before you get a ticket

  2. Street Cleaning Parking App now updated and released!

Stats:

  • 300K views, 2K upvotes, 700 shares
  • 250 downloads in first 24hrs with 14 paying subscribers, 5% conversion
  • 350 testflight users, 27 have left detailed feedback
  • Local media ran a story online, tv, and radio

 

Here’s the first release:

sf_bounds

Download on the App Store

streetcleaningparking.com