If you’re an experienced coder and user interface designer you think nothing is easier than diving into Ruby on Rails, Node.js and Balsamiq and throwing together a web site. Heck, in Silicon Valley even the waiters can do it.
But for the rest of us mortals whose eyes glaze over at the buzzwords, the questions are, “How do I get my great idea on the web? What are the steps in building a web site?" And the most important question is, “How do I test whether this is a real business?”
My first attempt at helping students answer these questions was by putting together the Startup Tools Page – a compilation of available web development tools. While it was a handy reference, it still didn’t help the novice.
So today, I offer my next attempt:
How To Build a Web Startup – The Lean LaunchPad Edition
Here’s the step-by-step process we suggest our students use in our Lean LaunchPad classes.
- Set up the logistics to manage your team
- Craft company hypotheses
- Write a value proposition statement that other people understand
- Set up the Website Logistics
- Build a “low-fidelity” web site
- Get customers to the site
- Add the backend code to make the site work
- Test the “problem” with customer data
- Test the “solution” by building the “high-fidelity” website
- Ask for money
Use the Startup Tools Page as the resource for tool choices
Step 1: Set Up Team Logistics
- Read Business Model Generation pages 1-72, and The Four Steps to the Epiphany Chapter 3
- Set up the Lean LaunchLab or a WordPress blog to document your Customer Development progress
- Use Skype, Google+ Hangouts, or Slack for team conversations.
Step 2. Craft Your Company Hypotheses
- Write down your 9-business model canvas hypothesis
- List key features for your Minimal Viable product plan.
- Size the market opportunity. Use Google Trends, Google Insights, and Facebook ads to evaluate the market growth potential. Use Crunchbase to look at competitors.
- Calculate Total Available Market, and customer value.
- Pick market type (existing, new, resegmented)
Step 3: Write a Value Proposition Statement for Human Beings
- If you can’t easily explain why you exist, none of the subsequent steps matter. A good format is “We help X do Y by doing Z”.
- Once you have a statement in that format, find a few other people (doesn’t matter if they’re your target market) and ask them if it makes sense.
- If not, give them a longer explanation and ask them to summarize that back to you. Other people are often better than you at crafting an understandable value proposition.
Step 4: Website Logistics
- Get a domain name for your company. To find an available domain quickly, try Domize or Domainr
- Then use godaddy or namecheap to register the name.
- Once you have a domain, set up Google Apps on that domain (for free!) to host your company name, email, calendar, etc.
- Read Learning how to code
For coders: set up a web host
- Use virtual private servers (VPS) like Slicehost or Linode (cheapest plans ~$20/month, and you can run multiple apps and websites)
- You can install Apache or Nginx with virtual hosting, and run several sites plus other various tools of your choice (assuming you have the technical skills of course) like a MySQL database
- If you are actually coding a real app, use a “Platform As A Service” (PAAS) like Heroku, DotCloud or Amazon Web Services if your app development stack fits their offerings
- BTW: You can see the hosting choices of YCombinator startups here
Step 5: Build a Low-Fidelity Web Site
- Depending on your product, this may be as simple as a splash page with: your value proposition, benefits summary, and a call-to-action to learn more, answer a short survey, or pre-order.)
- For surveys and pre-order forms, Wufoo and Google Forms can easily be embedded within your site with minimal coding.
For non-coders:
- Make a quick prototype in PowerPoint/Keynote or
- Use Unbounce, Google Sites, Weebly, Godaddy, WordPress or Yola
- For surveys and pre-order forms, Wufoo and Google Forms can easily be embedded within your site with minimal coding.
- Even non-coders should understand the coding buzzwords see here.
For coders: Build the User Interface
- Pick a website wireframe prototyping tool, (i.e. JustinMind, Balsamiq)
- 99 Designs is great to get “good enough” graphic design and web design work for very cheap using a contest format. Themeforest has great designs
- Create wireframes and simulate your “Low Fidelity” website
- Create a fake sign up/order form to test customer commitment. Alternatively, create a “viral” landing page, with LaunchRock or KickoffLabs
- Embed a slideshow on your site with Slideshare or embed a video/tour using Youtube or Vimeo
- Do user interface testing with Usertesting or Userfy
Step 6: Customer Engagement
- Start showing the site to potential customers, testing customer segment and value proposition - that means you must drive traffic to your site.
- Use Ads, textlinks or Google AdWords, Facebook ads and natural search to drive people to your Minimally Viable web site
- Use your network to find target customers – ask your contacts, “Do you know someone with problem X? If so, can you forward this message on to them?” and provide a 2-3 sentence description
- For B2B products, Twitter, Quora, and industry mailing lists are a good place to find target customers. Don’t spam these areas, but if you’re already an active participant you can sprinkle in some references to your site or you can ask a contact who is already an active participant to do outreach for you.
- Use Mailchimp, Postmark or Google Groups to send out emails and create groups
- Create online surveys with Wufoo or Zoomerang
- Get feedback on your Minimum Viable Product (MVP) features and User Interface
Step 7: Build a More Complete Solution
- Connect the UI to a web application framework (for example, Node.js, Rubyon Rails, Django, SproutCore, jQuery, Symfony, Sencha, etc.)
Step 8: Test the “Customer Problem” by Collecting Customer Data
- Use Web Analytics to track hits, time on site, source. For your initial site,Google Analytics provides adequate information with the fastest setup. Once you’ve moved beyond your initial MVP, you’ll want to consider a more advanced analytic platform (Kissmetrics, Mixpanel, Kontagent, etc)
- Create an account to measure user satisfaction (GetSatisfaction, UserVoice, etc.) from your product and get feedback and suggestions on new features
- Specific questions, such as “Is there anything preventing you from signing up?” or “What else would you need to know to consider this solution?” tend to yield richer customer feedback than generic feedback requests.
- If possible, collect email addresses so that you have a way to contact individuals for more in-depth conversations.
Step 9: Test the “Customer Solution” by building a full featured High Fidelity version of your website
- Update the Website with information learned in Step 5-8
- Remember that “High Fidelity” still does not mean “complete product”. You need to look professional and credible, while building the smallest possible product in order to continue to validate.
- Keep collecting customer analytics
- Hearing “This is great, but when are you going to add X?” is your goal!
Step 10: Ask for Money
- Put a “pre-order” form in place (collecting billing information) even before you’re ready to collect money or have a full product.
- When you’re ready to start charging – which is probably earlier than you think – find a billing provider such as Recurly, Chargify, or PayPal to collect fees and subscriptions.
If you’re Building a Company Rather Than a Class Project
- Go through the legal steps of setting up a company. U.S. version here.
- Search the US Patent Office (for free) for similar trademarks to yours
- When you confirmed your product and identity, and obtained a good domain name, and a trademark you think you can own, register your company onTwitter, Facebook, LinkedIn, CrunchBase, and AngelList pages
- Incorporate the company