The Story of Primospot

A startup story, 2007-2011


An Accidental Startup

Primospot was founded in 2007 to solve the problem of parking in New York City. It started with an email from my good friend, Michael Hill, announcing the beta launch of an experiment:

In a congested urban environment, parking can be a pain. I have been putting up with the alternate side of the street parking in NYC for some time now. I heard rumor of people drawing maps of their neighborhood to know where best to park. Being the programmer that I am, instead of drawing a map, I decided to craft a google maps mash-up instead using my favorite language, rails. A few weeks later, primospot was born.

Within a few weeks, the Primospot beta was making it's rounds on blogs, appearing in various posts.

Mike had put the beta site up using a cheap web hosting plan that was quickly overloaded. The code was running quite slowly, so I offered to help out. I checked the source into git, migrated the code to my dedicated hosting platform, created database indexes and optimized the queries, and set up some tests and a deployment script.

At this particular point in time, the iPhone had just come out. But there was no official support from Apple to create custom apps. So we improvised, and made an integration using a simple mobile-friendly web site and a hacky integration to use google maps on the iPhone (via a share link with lots of markers!).

We were suprised at how many people reacted so strongly to Primospot. The local newspapers started picking up the story, and pretty soon many users were complaining about our lack of data. We only on-street parking info for a few neighborhoods in Manhattan.

Data Collection

What happened next was the start of an ambitious plan to collect ALL of the on-street parking data for NYC. After many attempts to connect with the Department on Transportation, who were unwilling to share their data, we set out to find the most efficient way to collect it ourselves.

The initial experiments with data entry on-the-go via a mobile were mixed. Walking around and entering data is hard to do efficiently, especially in 2007 when connection speeds were piss poor. Another issue was error correction: data-entry mistakes were common while walking the streets.

Mike and Su getting ready to take out a rental car for one of our tests.
Mike and Su getting ready to take out a rental car for one of our tests.

After much disucssion, the idea of photographing signs seemed realistic. Inspired by what Google was doing with StreetView, we decided to roll our own. Mike and his wife did a trial run on his motorcycle, with him driving and her taking pictures from the back. The photos were not great, and she nearly fell off at one point.

Later, we tried again using a rental car and a GPS logger. Getting stuck in traffic was no fun, gas was expensive, and synchronizing the camera and GPS was difficult. Geotagging was still in it's infancy at this point, and we didn't have much money for equipment.

Eventually, we realized that simply walking the streets with a camera (and a decent zoom lens) was easy, even relaxing, and resulted in good quality photos of the signs. So we worked on a low-tech method that involved some basic rules.

  1. Workers are assigned pre-planned routes to walk
  2. As they walk, they take digital pictures of the street signs
  3. The intersection is photographed (where streets cross)
  4. Alternate sides are tagged by image rotation (portrait/landscape)

This was a visualization used in training data collection employees.

After testing the method, we started hiring part-time workers to collect data. Once the photographs were uploaded, several data entry workers looked at the photos and entered the points on the route in sequence. An online data entry tool allowed signs to be dropped and moved on a Google Map. The entry of hours and restrictions was accomplished with a simplified form.

I spent a good deal of time working on data entry optimizations: faster start/stop times through string parsing, tools to rotate and crop images, smarter placement of new markers, geocoding of intersections, and so forth.

Surprisingly, this worked well. As we scaled up the operation, Mike started interviewing hourly employees found via Craigslist. Many people worked for us during these times, and they ranged from college students to senior citizens looking for excercise. During the winter months, data collection was much harder. Finally, after about a year, we had collected most of New York City, except for some of the far outer regions.


In addition to on-street parking, it also showed commercial garages. We collected data from nearly all of the cities parking lots. At first, this involved taking pictures of the rate signes posted outside. As before, we sent students around (and sometimes ourselves) to walk the streets and capture images. We used Google Maps and other services to find the lots.

Once we had the images, we had our modest staff input the prices using an online admin tool that we built in Rails. A few months after we started, we had many of the lots for the 5 major boroughs in New York.


Although the iPhone application was selling pretty well enough to keep us going, we began looking for other forms of monitization. After researching similar businesses, we decided to have a go at commercial garages.

We began by collecting data the same way we did for on-street parking signs: we had our photographers visit the garages and snap pictures of the public rate sheets. We then used this data to show the prices and features of each Garage on the map and mobile applications. We were successful in signing on several national parking companies, in exchange for feature placement, a custom marker, and online rate requests. We received a percentage of leads for monthly parking from some partners.

The garage map mode, with custom markers, rates and metadata.
The garage map mode, with custom markers, rates and metadata.

Growing Exposure

By the end of 2009, we were getting regular requests for articles and interviews. It seemed the press had struck a chord with drivers who hated parking, and the link bait paid off in traffic. Our story was compelling, and our user base was growing fast.

We expanded to Boston, by hiring people there to repeat the same data collection process we had perfected in NYC. The rules were quite different and required app refactoring. Later, we added Seattle, who actually provided us with on-street data. For this we had to write importers and parsers.

In December of 2009, a New York Times article rocketed us into the top 10 of the Apple App Store. By Early 2010 we gotten word that our app was appearing on in-store and window signage of various Apple Stores. Apple then featured us as a "Staff Pick". Daily sales were incredible for some weeks to follow.


In early 2010, Steve Jobs returned to stage one last time to unveil the iPad. While watching the keynote presentation with great interest, we were shocked to see our app featured during the segment about iOS apps in the App Store. It was an unforgettable moment, a combination of screaming and laughing, followed by huge amounts of tweets and emails from friends who also noticed. There we saw our humble little app, visible on a slide during that iconic Jobs keynote.

Our designer, David Schaffer, admiring his work in the window of an Apple Store in NYC.
Our designer, David Schaffer, admiring his work in the window of an Apple Store in NYC.

The fame was short-lived however. We had competitors: BestParking and ParkMe were building up quickly, and collecting even more data than we had.

The Slow Stagnation

During 2011, the Primospot team enjoyed stability, but limited growth. We became focused on raising money. There were several investors that came and went, and we were only able to raise a small amount of capital. Later that year, NYC finally released their on-street parking data. This was excellent news for us, since we could keep our app more up-to-date. However, it came at great effort, writing complex parsers and import processes that correlated geocoded signs to map locations.

Some of the crazy edge cases in NYC on-street data I wrote parsers for.
Some of the crazy edge cases in NYC on-street data I wrote parsers for.

By December of 2012, Mike and I both were happily employed full-time, with young children. We decided to close Primospot, and after some failed attempts to sell the app and website, we finally closed down. The business had not moved much in the previous two years, and it was eating a lot of our time and energy.