While there are many documents on the web covering this subject, most are written after the fact of success and don't provide the "holy shit, we just quit our jobs" perspective that is going to be common with anyone who doesn't have the contacts to get involved with VCs. A year from now this story will either be a testament to our methodology or an embarrassing reminder of all the mistakes we made. Either way, the hope is that it avoids the polish of hindsight and will be not only inspirational, but methodically practical to someone considering quitting their job.
We are not businessmen by trade and we aren't the kind of web geeks you'd probably hope us to be. Think of it this way, we don't have a WordPress blog up telling you about the benefits of Ruby (yet). We used PHP because it's what we knew and were comfortable with and we'd seen it scale to enterprise levels before. The advice in this guide then isn't how to build the most pristine standards based site with 100% stability and geek factor (though we've got our fair share of chrome), it's more about how to plan a build cheap, fast and scalable.
First a Little Background
The two and only members of our team are myself (Dave Snider) and Ethan Lance. Ethan and I met in San Francisco at CNET Networks, and along with a couple other very fine people there were responsible for building both MP3.com and TV.com from concept to launch in just over a year. Ethan was one of the primary engineers on the "core team", building not only a large part of the display code for those sites, but also the backend that would eventually seamlessly manage them both. As for myself, I had the silly title of "Site Architect", which meant I was the guy with zero reports but was allowed to put together build teams on the fly for any large projects that popped up. Projects like launching TV.com, the redesign of MP3, whatever. After a product would launch I'd get shuffled to "the next big thing" and repeat the vicious cycle.
All in all it was a great gig for both of us and we affectionately refer to our time there as "CNET University". I highly recommend trying to get your foot in the building there, as there is no better place in the world to learn how to build products fast with small teams and great people. In the end though, after getting frustrated over the direction of the products we essentially gave birth to, we did what many other highly skilled workers at big companies do when they get frustrated. We quit.
Now we didn't quit at the same time. I left at the end of 2005 because I was essentially burnt out and having problems working for a company that had grown so fast around products I felt invested in. For me, after a year and a half of sleeping at the office the idea of launching site after site for CNET, while moderately profitable, wasn't the challenge it was when I walked in there green with inexperience and ambition. Because I'd done well on investments after selling my previous site, Guzzlefish.com (RIP), I was able to quit pretty spur of the moment though perfectly timed with the new year when our product cycle was pretty slow. I initially intended to move back to DC and possibly dump this whole Internet thing for something more stable, like possibly franchising a Quiznos. Ethan of course knew better of me and soon after I left he had his hooks into me about doing a start-up. Even with no money on the table I guess I was an easy sell, but you gotta know Ethan.
Ethan is a hacker. Not a hacker like we think of in movies, but a hacker in the Paul Graham "by any means necessary" way. He's the most aggressive, intimidating, and hardworking engineer I've ever met, and I know at least two other great ones. While most of the industry worships the guru-minded, Emacs-using, acronym savvy web developers out there, Ethan is the blue-collar grunt using Homesite who gets the job done because he treats the deadline clock like Kurt Russell would in a John Carpenter movie. He's also famous for scraping a weeks worth of work and rebuilding it in a day, scaring the bejesus out of me whenever I work with him. I've never known anyone to be less attached to their code and still so specific on its organization. In short, the guy is a bona-fide wrecking ball.
Like me, he's also insanely arrogant, which is a trait every entrepreneur needs. In any case, a guy with this personality is of course the guy that isn't going to let you move back to DC. He's ready to start something, right now. So after some quick talks and arranging a modest budget, I decided to stay in SF and he decided to quit CNET after tying up his current project (always try to leave on good terms). Thus begins the storming of the beach-head and our initial question... what kind of site should we launch?
Everything starts with an Idea
We of course had tons of ideas, just like I imagine you do. The funny thing is, a car site wasn't even on the radar when we started, but in the end, it was the one that made the most sense. The trick to picking the best one of your ideas is basically to do a large amount of research on the competitive market. My favorite method is to walk into your local bookstore, check the magazine rack, and take a tally of the number of magazines dedicated to certain genres. Then take those numbers and compare them to the number of decent websites doing the same. The site you should be building is the one with the largest magazine coverage to sucky website ratio. Why? Quite simply that the number of magazines for the most part represents the current interest (and number of advertisers) in a specific industry. Now this doesn't work for everything, obviously some hobbies are likely to cater to people who don't use computers, but to be honest, that day is slowly coming to pass.
Build a site that makes sense in the current market
Once you have your genre you need to figure out what kind of site you want to build. We knew we wanted to build a car site, but the question was, what kind of car site. Here is how we figured it out.
- Fact 1: It seems there are not many good car sites on the web
- Fact 2: Of the car sites that exist, almost all of them deal with car sales and listings and charge you for the service. Way too much established competition.
- Fact 3: Since there were only two of us, it would need to be a community site, as neither of us had the time or want to write content.
- Fact 4: The small competing community sites, despite having passionate followings, are poorly built and too narrow in scope.
- Fact 5: The only popular free community portal, cardomain.com, was poorly designed and hard to use. Despite this, it has great traffic. It also is littered with ads. For some reason, it also doubles as a store? Um... ok?
Just like that we knew what to build. While every nerd who bought into Web 2.0 was going to try and reinvent Microsoft Office for the web (AJAX isn't there yet guys), we would build an easy to use car community site using good old-fashioned PHP that would focus on the passionate fanatics. Once we knew our audience, we knew what features to build. Fanatics like to tinker, that meant we needed a car part database, model specific boards, and an archival database robust enough to categorize anything we'd throw at it. Wouldn't it be cool to show our audience other users who are using the same car part? What about designing our vehicle pages as mini histories of the car in question comprised entirely of user rides. Imagine of all the above wrapped in a simple, but clean design. It might just work.
The best way to find out if your site has revenue potential
Sure we had a great idea, but because we were financing the project ourselves we wanted to make sure it would actually generate revenue. Traffic is one thing, we were confident we could build traffic over a year, but was there an actual advertising market for what we were gonna do? We knew there were lots of car ads on TV, but that was about it. How was online advertisting for auto sites doing? The only way to find out was to ask our soon to be competitors. Yes, you heard that right, you just politely ask them about their ad revenue. As unlikely as that sounds they'll bend over backwards to tell you if you ask the right way.
- Email or call any sites you think would be your competitors.
- Tell them you are going to be launching a website focused in that industry soon and have a marketing budget of $50,000.
- Better yet, tell them that $50,000 is going to be spread across a couple sites and you want to see what kind of specific packages they have to offer against their competitors.
- You will likely receive a PDF proposal in 3 days and with it know exactly how healthy their sales are.
Following that method I found out some hugely important things. One was that the auto market has insanely high CPM (cost per thousand impressions) rates. Another was that several of the sites actually had sold out inventory for a month in advance. Not only that, as icing on the cake one of them told me on the first in-page form-reply that they would be launching new sites in the summer to compensate. This meant not only was online advertising for car sites healthy, it was selling out. There was a market, not only a market, but one littered with crappy websites!
It's amazing what people will tell you over email.
Picking your Partners and Assigning Roles
Who's the better shot? Give them the gun.
Ethan and I came up with the "Zombie Team" test for figuring out whether or not someone is ready to work on an intense project, be it a start-up or otherwise. The test is this: If zombies suddenly sprung from the earth, could you trust the perspective team member to cover your back? Would they tell you if they got bit? Most importantly would you give them the team's only gun if you knew they were the better shot? If the answer is no to any of those questions you need to let them get eaten by the cubicle wasteland of corporate culture, because they aren't ready for this kind of work.
The best advice I ever got involving anything to do with our company was when I was just starting and a collegue said "just be selective" when I talked about who I'd love to work with. He gave me those spooky, believe me, I had a bad experience eyes and I really took his wisdom to heart. Not everyone has the guts or the drive to build at the crazy insane speeds necessary to have a chance on an two month build. When you've quit your job, put in your own money and grab loans from your parents, you simply can not afford to question anyones loyalty. It's why Ethan and I decided to work as a duo, even though we had enough money for more. The trust just wasn't there with anyone else. You can hire employees anytime, but you only get to pick your partners once.
Make sure any technology built is owned by the company, not the individuals
In tech companies it's important that the technology you produce is owned by the company and not the individual partners. You don't want someone who leaves the company to suddenly claim the rights to the exact code and tech you depend on. A lawyer can draw up a simple document to cover all your bases.
How to split up the company shares
Like us you will most likely hold off on this part of setting up a business until the last possible moment. It is an awkward conversation to have, especially when you're good friends with your partner(s). There's not much to say about how to handle it other then to say you need to base the split purely on how much risk each member is taking individually. Real early you'll find that some people will mistakenly think that leaving their job is a risk, or that them leaving a higher paying job then somebody else means they are taking more risk. It is not. Remember, you can always get another job, but you will never get that money back from the 401k you closed to fund a failed business. Just like Vegas it's all about how much you put on the table.
The actual method of assigning shares is something your lawyer can do for you when you set up your LLC (or whatever). It's just a document all the partners need to sign and agree to. Note that this doesn't mean you can't add more partners at a later time.
The minimum skills you'll need to get the job done
No matter what the size of your team is you need to clearly define the roles of each member and what they are expected to do. In any start-up people are going to need to take multiple roles and most likely, take on jobs they are way too experienced for. This is natural and if a member can't accept that, they shouldn't be in the group. You will need the minimum following technical roles covered by your team members to build a modern portal:
- Photoshop designer
- CSS/SMARTY Developer
- Data Entry / Database Populator Dude (scrapes are lame!)
- PHP/JSP/Ruby Developer
- SysAdmin / DBA
- QA/Product Management
There are also the following non-technical roles
- Guy who talks on the phone
- Guy who keeps the books and writes the checks
- Guy who cleans the toilet
Making sure you divy up those roles and make them clear from the start. I know it sounds silly to have a Product Manager in a two person start-up but Ethan and I work together so well because he never questioned how the site should work and I never questioned him in how it should be built. That's the type of Zombie Team trust you need to build a site of Boompa's size in 2 months.
You really do need office space
Some people believe office space isn't necessary for a start-up but I really don't agree with that philosophy. Sure, you can work at home, but the questions is... do you really want to? Will you be as efficient there? Compared to the costs of hosting a large website, a small office is not going to cost you that much. While it will of course take a chunk out of your budget, it more then pays for it by providing a very real environment that makes your endeavour all the more tangible. Ethan and I walked into our office that first day and had a very cool realization. Not only were we building a website, we were building a real company, it even had walls!
Back to College?
The best place in my opinion to grab an office is in a big college town. We chose Berkeley because it's close to SF (and therefor the industry) and because to be honest, being around really hot, unattainable women just drives you to succeed even more. In any case, a college town will likely provide rent that is much lower then your average metropolitan area and is the home to a nest of cheap labor should you need it. They also have plenty of late night restuarants and futon shops, which is the kind of cheap bedding you will need at your office for those late nights. On average Ethan and I slept at our office twice a week after pulling 12-18 hour shifts.
Things to watch for in your lease
The only major differences between signing a lease on an office and one for a residential apartment is that the leases tend to last longer (2 years is normally the minimum) and the monthly rate is often negotiable. We trimmed 20% off the landlord's offer and only committed to a year by providing 6-months worth of rent up front. While some of you may be saying, wow, I don't have six months of rent, I reply, then you don't have enough to really start a business. Which brings me to my next point.
Find out how much you need first
You're dreading this part of the story aren't you? I sure did. Before you find out how to get money you'll first need to decide how much you need. I know this is gonna sound lame and I never thought I'd ever say something like this, but the best way to figure that out is to do a quickie business plan and pro-forma (your expected costs and expenses written out as separate months over a 12-month period). This is actually fairly easy and super helpful and should only take you a day or two unless you need to present it to a stickler. The most important thing to remember when writing one of these is that your product description should only be 10% of your document. The rest should go over how you plan to bring in revenue, the competition, your technology and why the site will succeed. It's a humbling experience. If you wrote a good one, it should make you reconsider starting a company, I had anxiety attacks after I wrote mine, no joke. Just like a good meal, let that document sit in your stomach for a couple hours. If you're still excited, it's time to try and find money.
Why we didn't try to find VC money
Now there are tons of articles out there on how to attract cash if you have an idea so I'm not going to go into it because we didn't go that route and to be honest all those articles seem like bullshit written by some 40 year old guy that thinks he's hip because he has a hosted blog. The only way you're gonna get money is if you know someone or if you have three months to play grab-ass. Amazingly you would have thought that two guys with pretty decent resumes like Ethan and I had at CNET would have been able to find investors but the reality is we are pretty nerdy dudes and not interested in playing the handshake game. Plus, while I can honestly make a statement like "I was the product and project lead on the launch of TV.com and the redesign of MP3.com", no one knew that outside of the CNET building. It's not like Ethan and I were in a press releases, we were just high level grunts making day to day decisions. That kind of limelight was for the guys that didn't sleep on the floor during builds.
So... we definitely didn't own any suits and the thought of talking to a VC somewhat scared us and seemed like it would take a long while to net results if we did try it. We rightfully believed at the time that there simply wasn't enough time to figure out how to schmooze, we had a site to build after all, dammit. The best thing to do then was to get going on it. That's not to say hooking up with a VC at a later stage isn't a good idea or that we won't do it at some point, we just didn't need to do it to get the site up.
If it's that good of an idea, don't be afraid to put your own money on the table
To be honest I will admit that we were fairly lucky with start up cash. I had previously sold a small site called Guzzlefish.com (a dvd, music and game collection engine built in 2002) and had wisely invested the money in Apple after a certain brilliant engineer introduced me to Macs. While the site was very small and sold right after the bubble buying spree, the resulting money would be enough to get two guys started. However, it wasn't enough to keep us going for 18 months (the bare minimum I figured any ad-revnue web-site should plan for). For that I would need a few more thousand dollars.
I ended up going to the only people I knew would give it to me without questions. My parents. Luckily with the sale of Guzzlefish I had a previous track record of paying them back, so after my Dad pretended to understand what we were actually trying to do, he and my mom wrote us a check and wished us well. This of course lead to my second panic attack, but it made sure we'd have the time we needed to build a business after we built the site.
How to set up your loans
Though I can't help you find money, I can tell you what you'll need to do if you plan on borrowing more then $10,000 like we did. Get a lawyer to draft up what's called a promissory note (basically just a statement of terms) from your organization to the loaner of the loot, which in my case, was my parents and myself as an individual. If your "Angel" is particularly angelic they will agree to the minimum interest rate on the loan (the IRS forces this, because otherwise it isn't a loan). Our rate was about 4.5% and we set it to mature (the time we'd have to actually start paying it back) at 6 months past the date we thought we'd break even on the site. While you can always just fill in the details differently on our promissory note and be good to go I highly suggest getting a lawyer to help you set up the business and paperwork.
What type of business entity to set up
You've got a lot of choices when deciding what kind of entity you want to become, but in the end only one of them made any sense to us: an LLC partnership. Why? Well, if you don't expect much or any revenue in the first year you'll want to be able to able to treat the business as if it was an extension of yourself since essentially... "you" aren't making any money. This means you'll be able to make withdrawals virtually tax free and without a payroll till you get some revenue flowing in. This means that your 80,000 engineering job will only need 50,000 company dollars to be equivalent, since you're not paying taxes on your withdrawals.
Ethan and I simply agreed upon a very meager amount to withdrawal and had the bank send us checks every couple weeks. All of this was logged and recorded so that we had the paperwork ready for when we would need to file. Starting an LLC can cost different amounts depending upon the state you're in. For us, the whole process ran us about $2,800 including our legal and state fees. While that sounds like a lot, it was off-set by having weeks of hassle free coding/designing while our lawyer handled all that confusing mess. Money well spent to us. We woulda just fucked it up anyway.
Believe it or not there is some some cool insurance you can set up to protect the individuals in the company from catastraphe. For example, we could have gotten some insurance in case either Ethan or I died during the first year of the business. It sounds funny, but if you're running a two man crew like we did, you will definitely have nightmares about this. Essentially, if Ethan had died, I would have been absolutely fucked and vice versa. We didn't buy any, but it's probably a smart move and you should at least look into it.
Preview of Part 2: Technology, Design, and our Build Schedule.
Tehnology we Used
Here's a brief rundown of the technology we used to construct the website. It consists entirely of open source software. Saying that makes me realize I lied at the beginning of this document. Boompa was not built by two guys, but by hundreds. We humbly thank anyone who worked on the following applications. If our company ever turns a profit we promise to donate some of it towards your work. We go into specifics more in part two.
PHP 5: We used PHP as mentioned because we had used it before on other large sites and had seen it scale to hundreds of thousands of users. We also knew it really well.
SMARTY: SMARTY is a templating engine that you can use to seperate your frontend documents cleanly from your main PHP. For the most part we don't understand why it isn't more used and to us is a MUST HAVE on any web build.
MySQL 5: This was our first time using MySQL 5 and didn't have any real problems with it.
Fedora 4: We went with Fedora as our Linux build because it's free and it's very stable and supported.
CSS: Used to style our pages, I don't believe boompa.com has any tables outside of a couple we have to use with Dojo.
Dojo AJAX Toolkit: Pretty much our home run king. We would not have been able to work AJAX into the site without dojo. You see it everywhere from our fades on the front door, to our WYSIWYG editor in the boards.
Pear: We used a lot of pear scripts and functions for things like pagination and sorting.
Memcached: We use memcached to speed the site up and prevent hits to the database where we can. Along with SMARTY caching, it keeps the site running relatively speedy.