The Hyperpublic Developer Challenge

Over the past couple of days the team at Hyperpublic has been working on the Hyperpublic Developer Challenge. It's a simple programming contest consisting of two problems: an easy problem, and a slightly harder one. It should take a programmer with a CS background 1-2 hours to complete.

We love hacking, we love building, and we love puzzles, so we made this for fun. But we're also hoping that it will spark developer interest in our product and our platform. Anyone who completes the challenge successfully will be entered into a raffle to win a free year's account at Dropbox or Github. We also have open desks in our new office and we'll be giving some of them away to developers looking for a home for a month or two.

Have fun, and let us know if you have any questions or feedback. 

What is Hyperpublic?

Screen_shot_2011-02-17_at_10

As an entrepreneur you frequently get asked what you do, what you're working on, and what your big idea is. Even your closest friends don't always know, since over the years they've observed all of the "pivots", "iterations", and "experiments" that you've conducted in the name of finding that elusive product market fit. I'd like to explain what Hyperpublic, the product we launched two weeks ago, is all about, since there is more to the company than appears on the newly minted Hyperpublic.com

Hyperpublic is a company focused on capturing and structuring local data.

What does that mean? Well, we look at local data as being any object in the world with a location attached to it. These objects can be people, they can be places (like restaurants, shops, and parks), or they can be things (like the West Elm bookcase in your apartment you're trying to sell). After we know what the object is and where it is, we'd like to structure and attach as much data to it as we can. This data may be photos, it may be tags that describe it, it may be pricing data if the item is for sale, it may be contact information. The list goes on.

After you collect and structure all of this data, there are a lot of things you can do with it. You can browse photos of local restaurants, you can find and hire a babysitter in your neighborhood, you can list all of the great comic books for sale in your city. We'd like to make it available to developers in order to find uses that we haven't even dreamed about. As such, the Hyperpublic platform will have an open API where developers can not only pull our data to create and enhance local applications, but they can also push objects, tags, and photos back into the system to distribute through the Hyperpublic ecosystem.

Hyperpublic.com is the first application built on top of the Hyperpublic platform. It exposes some of the data in the system as a local search, discovery, and curation tool for several big cities in the United States. Add yourself to the site if you'd like to be discovered. Tag yourself with "web designer", "freelance", "writer", or "looking for love". Browse your local neighborhood and save your favorite places and items into lists to organize your local world. Share your favorite spots with your friends. Post items you want to sell to the things category. You can join by simply emailing a picture of yourself, a thing, or a place to add@hyperpublic.com from your camera phone. No signup required.

Structuring data and location around every single person, place, and thing in the world and becoming a data provider is certainly a large goal, but it's a goal that our team is incredibly excited about pursuing. We'll have to solve hard problems involving big data, search, mobile product design, API and platform design, and more. If you're interested in working with us on these challenges, I'm hiring. Email me at doug@hyperpublic.com, or hit me up @petkanics.

Heroku Support Saved My Launch Day

052406_computer_smash

The last 72 hours have been a wild ride leading up to the launch of my new site, Hyperpublic.com. I'd say that I got about 3 hours of sleep last night, 0 hours on Sunday, and maybe I was lucky to get 4 hours on Saturday. Pushing the site live this morning gave me all the adrenaline I needed to carry through the day however, as watching the users, tweets, and data pour into our hyperlocal object database kept me from falling asleep on my keyboard. A great writeup from Techcrunch and The Observer provided an extra boost of momentum.

We got quite a bit of traffic, and thanks to Heroku, the instant deployment and scalability Ruby application hosting service, we were able to handle all of the activity without a problem. The last thing you want to worry about on launch day is keeping the site up, and instead you want to be supporting your users and getting their feedback. After a few months of building and a momentous sprint at the end to get launched, I was very excited as we were nearing COB here on the east coast and traffic was starting to level off indicating that I would be okay to finally get some rest.

But that was not to be, as anyone who's ever launched a web product before knows, anything that can go wrong, will go wrong (ATCGWWGW). The site went down around 5pm with a few hundred active users on it.

There was no evidence, no error, no log message to indicate what the problem was. I tried everything I could think of to get it back up with no success. That's when we reached out to the aforementioned Heroku to see if they could help diagnose the issue. 

I filed a ticket with support hoping to hear back. Sure enough a few minutes later I got an email response. After a quick exchange we were on IM. A few minutes later my contact had the database team looking into the issue while he worked with me to help diagnose it at the application level. After about half an hour we found out that the database drive failed and needed to be switched out. They made the change, and within minutes Hyperpublic was back online.

Anyone reading this may first react that this was Heroku's fault in the first place. Sure it was horrible that my app was down for an hour on launch day, and I would have preferred that there was no problem with our database. But as mentioned before, ATCGWWGW, and I'm damn glad that I had Heroku at my back helping to diagnose and fix the issue, as opposed to having to go it alone with my own server or unsupported hosting. 

Instant, personal, realtime, friendly, and free support more than makes up for the occasional glitch in service, even if it occurs on a launch day. Once again, thank you Heroku.