|
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.
Disclaimers
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?
Research
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.
Be Selective
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
- JavaScript/AJAX
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.
Office Space
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.
Money
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.
Insurance
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.
|