The wraps are off the latest project I’ve been working on: Chomp, a social iPhone application recommendation service. I actually started consulting with them to fill in some time, but liked the app and the people so much that I couldn’t resist jumping in full time. Now that the app is out and I can talk a bit more publicly it’s time to start building up a team. Obviously, about the app itself, the reception has been great and folks seem to love it:
- Geek.com – the one I’m most proud of
- Techcrunch – obTechCrunchShoutout
- ABC News – on the TV!! Not really, they’re talking about us, but the guy is just randomly poking around on an iPhone. Poor TV, you just don’t get it do you?
The goals of the business don’t stop at an iPhone app, we have plans to move into other areas over time. But the iPhone app market is the biggest juiciest lowestest hanging piece of fruit in the mobile arena right now. It would be crazy not to take a bite. Ben can answer a lot more of those style questions than I can however. I’m just here to keep the lights on and the servers running.
We have a jobs page up, but there isn’t too much color to them yet. In particular, I need some folks to join me on backend engineering and operations tasks, so I figured I would shout out here. Right now the team is only 5 people, so it’s a chance to get in at the very start for the right folks. We haven’t yet figured out exactly how the jobs break down, but at a startup job titles don’t really mean that much anyway. Here’s a rundown of the kinds of things I’ve been doing for the last two months, to give you a feel for what we have going on:
- Picked up and finished off a spin of the server side software. Standard LAMP stack with the PHP side built on top of CodeIgniter. There was some general cleanup work like reformatting the server responses to be more consistent across all the API calls, some new features like adding in bookmarking and avatar uploads, and generally operationalizing the code with stats logging, database migrations, processes for background tasks and cleanup.
- Prepping the production deployment systems. Which in this case meant getting Puppet up and going, setting up the modules for the bits of software we were planning to use, bits of custom config for things like the database systems (we’ve tried to set them up to be sharding-friendly right off the bat), and generally setting up the parts of the system we didn’t need till we went live (like load balancing and spreading out the front end web systems, and syslog-ng to pull together all the logs to a central system)
- Setting up system and application monitoring and metrics, so that we have alerts that fire if something seems to be going wrong and pretty graphs to show us where that wrong thing might be.
- Doing a few spins of designing a custom crawler that pulls info out of iTunes so that we can make it available in our app. With the number of apps, the number of regions, the number of languages, and the general lack of any kind of off-the-shelf solution for this, it’s been a pretty complex problem to work out. Our data is pretty timely right now, but this is one area in particular where there’s a lot of room for improvement.
- Adding in some very simple strategies for caching and load shedding if we ever hit the kind of load where we were in danger of degrading performance. Fortunately we’ve yet to have to pull any of the escape valve levers (fingers crossed), but with the system growing as quickly as it’s been growing I’m sure that’s only a matter of time.
Generally, it feels great to be back at the controls of a set of servers experiencing the kind of explosive growth we saw during the early days at AdMob. But there’s definitely more to do than I can handle all by myself. And I know there are plenty of folks out there who are better at the bits and pieces of this than I am, so I would love to be able to peel some of this stuff off to the right people and start scaling the human side before scaling the machine side gets out of control. Plus, when the weather gets nicer, I spend way too much time at the track to be the only person available to respond to ops issues :-)
So if you’re interested, particularly you folks who I’ve worked on projects with before, ping me. mike at chompapps dot com. Yes, this means I’m going to start reading my email again now.