Last night we launched SetJam live in front of an audience of nearly 700 people at the New York Tech Meetup. I thought I’d share the few days leading up to this event because I think it captures a lot of things about what it really means to be an entrepreneur.
Last Wednesday, a week before we had to launch, I didn’t know if we’d be able to. At that point, SetJam was completely unusable. We’d done a release just 3 weeks before that I was really happy with. It was pretty stable and good enough that I could record a demo to apply to some conferences. On Wednesday our data was a mess.
SetJam indexes every TV show and Movie ever made and makes it really easy for our users to build a queue of their favorite shows. The magic of SetJam rests on two data layers: one contains the name of every Movie, TV show, and TV episode ever made that’s been scrubbed and massaged so we can pretty much tell what it will be called on any site in the world (none of which are consistent) and the other contains all the metadata that we’ve collected and cleaned from those sites–most importantly, the links that enable you to view nearly any show instantly.
Our goal was to get our primary index of episodes to near 100% accuracy and to get our metadata and links to 90% accuracy in time for private beta. On Wednesday morning neither dataset was working. I’d add a show like “Family Guy” and I’d see three copies of each episode, each with their own name. Our link accuracy tests were showing most of our sources near 50%. I REALLY laid the pressure on my team. How could a site that was basically done 3 weeks ago have fallen into this state?
My team responded to the pressure and worked until about 1am on Thursday morning. We don’t have offices yet, and we’re not even in the same city, so most of my guys were working at a cafe while being bombarded with Russian blues (whatever that might be), while I was trying to help out through Campfire (our group chat app). The end result was that our data was in worse shape than it had been in the morning.
I could tell my team was defeated. Whereas in the morning they’d protested my claims that we would have to cancel launch, they were now glumly acquiescent. Now it was my turn to be the optimist. I told them that I was sorry for pushing so hard. I told them that overcoming these moments were what made any startup great. I told them to go home and get some sleep.
I staid up and went back to the basics. I went through all of our sources of data and reset their priorities to their original base lines. I wrote a note to my team apologizing for pushing them too hard the night before, asking them forget the deadlines and to start working methodically again like engineers have to. I went out and had a beer with some fellow startup guys here in NYC.
By noon the next day our data was back. My guys had found a django bug that had been the source of a lot of the original problems. With fresh eyes, clean data, and their amazing unit testing suite, they’d brought us back from the brink. On Friday, I actually left work a little early feeling pretty good about where we were. I even asked a couple of my friends to take a look at the system. While I was walking from dinner to a movie with my wife the emails started coming in. My friends were not impressed.
I got emails like, “I’d love to check it out, but it’s not really stable enough for me to use”. There were reports of adding shows and having them disappear, of getting logged out and logged in randomly, of a generally unusable piece of shit. Needless to say, I didn’t really enjoy the movie. When I came home I tried to reproduce the bugs, but couldn’t really. I didn’t understand what was happening, but I blamed most of the problems on a known problem between Facebook Connect (which we use for authentication) and Safari.
The next morning I had no problems reproducing the bugs. There was clearly something wrong with authentication. I thought about what I knew. The system was fine in the afternoon. Then it was a disaster. Late that night, it was fine. The next morning it was broken again. Our code hadn’t changed. Then I remembered a blip of consciousness right before I left the day before about how Tech Crunch had announced that Facebook had made it as easy as 123 to add Connect to your site. I thought that the article had probably overloaded Facebook’s Connect servers. I thought their changes to make it easy might have made our site, which had done it the old-fashioned way, unusable.
I still don’t know the answer. My team and I were up until 4 in the morning on Saturday still trying to figure it out. We woke up and worked all Sunday. We completely gutted our FB connect implementation. We hacked around the Safari issue. We got it to a point where it was stable again, or Facebook did. We’ll never really know. We were all exhausted and our launch was two days away.
Monday I lost one of my engineers who had gotten sick over the weekend. My business cards I’d gotten over-nighted so I could actually have something to hand out on Tuesday were lost in UPS. The presentation the next day was beginning to weigh on me. I was so anxious that I made myself sick–like vomiting sick.
It wasn’t that day or the presentation. It wasn’t even the weekend before, or the week before that when a company backed by $8 million dollars had launched in direct competition to us. It was my whole life. I’ve been an entrepreneur since I dropped out of graduate school nearly 13 years ago. I’ve built amazing teams and businesses just to see them wiped out by events beyond my control (like the dot-com crash). I’ve struggled through times of unemployment and self-doubt. I’ve built businesses and had them fail because I didn’t understand markets.
I’ve put $50,000 into SetJam so far, and I’ll probably have to put in $50,000 more before I can hope to take in some outside money. I’ve had to spend the last 4 years saving while I built an amazing company for someone else just to have a chance to take this shot on my own again. I’ve got a wife and a baby girl and our life savings is riding on a company that, even if I execute perfectly, has a less than 50% chance of succeeding. Launching this product meant a lot.
I never prepare for presentations. I was a gifted public speaker when I was younger and have always been able to step in front of an audience, completely unprepared, with no fear. I’d done a presentation about Angelsoft.net to the New York Tech Meetup the year before though, and I’d blown it. It rattled me a little, so I actually prepared for Tuesday night. I actually prepared a lot.
Jun Simmons, whom I’d worked with at Angelsoft and now again at SetJam, and I had been through the demo dozens of times. We had it down pat. We were in our offices an hour before we had to be at the meetup and we thought we’d go over it a couple of more times. The third to last time we went through it, for the first time ever, it failed. We had this cool thing where we showed off our Oauth integration with Netflix and it failed. We got some error that we’d never seen before. We tried it again and it worked. We tried it again and it failed.
I wrote my team, but there was very little they could do. I wrote Netflix (who has been an AMAZING partner), but didn’t know if they’d even see the email. We were late and we had to go. There is no internet access at the New York Tech Meetup except on stage. I wouldn’t be able to test our software again until I was presenting. I couldn’t even get good enough reception on my mobile to connect to Campfire to see if anyone had figured anything out.
So there I was standing on stage in front of 700 of my peers. I’d spent the last two days preparing for the presentation. I’d spent the last week getting our software ready to show. I’d spent the last 4 months and my life savings to build a company. I’d spent the last decade trying and failing and learning and saving to get this chance, and I had about a 50% of getting up on stage and having everything I’d worked for blow up in my face.
That’s my life. That’s the life of an entrepreneur. Sometimes I wonder why I do it, but deep down I know I don’t have a choice. It’s my dream to make things work just a little better. It’s my dream to build a “rational economic sanctuary”-–a place where smart people can do what they are best at in the service of something they care about without having to worry about the day-to-day vicissitudes of the economic forces that surround us all. If SetJam fails, people will point to my mistakes. If SetJam succeeds, they will say I’m lucky. In both cases, they will be right.
We’re releasing our software today to some of our beta testers. If you’d like to join their ranks and help us define the future of TV, you can sign up at www.setjam.com. And if you’d like to see how our presentation turned out, it was streaming live and is available here.