The goal was simple: to build and launch a startup from scratch in 24 hours... all whilst live streaming your screen to the world.
It was awesome. Over 350 people submitted their ideas and 95 startups were actually launched.
What follows is a rather in-depth account of my personal experience and tips in case you want to do it too.
Prior to the challenge, we had to submit our idea of what we were going to build. I spent a few days thinking about what I could do, especially given the time constraint. I finally decided to build something I wanted to do for a long time: a customer development survey with automated insights.
Customer devel... what?!
Customer development is a theory that was first articulated by Steve Blank in his book, The Four Steps to the Epiphany, which has fast become a practical how-to manual for startups. A lot of people, especially people working in tech, are also familiar with Paul Graham's essays in which he advocates the importance of talking to your customers.
Getting feedback from customers is indeed so important that YC tells its founders they should be focusing on just building their product and talking to users.
A key method in the various phases of customer development includes obtaining customer feedback via surveys.
Customer development surveys are universally considered the best way to figure out how close to product/market fit your product is and what you should do to achieve it. This brilliant article by Rahul Vohra, Superhuman's CEO, explains in details how he has used these surveys to build a product with a 58% product/market fit score (and hundreds of raving online reviews and thousands of adoring customers).
Personally, I know how powerful customer development surveys are because I've used them for years in all my companies and projects and they have always been incredibly valuable.
But there is a caveat: you must know which questions to ask and how to crunch the numbers in order to get actionable insights from the responses.
And this is where most people fall short.
Luckily, I have a background in statistics and I've read a dozen books about customer development which gives me an unfair advantage on this.
So I decided to use my unfair advantage to build a simple service that generates customer development surveys without the guesswork. Surveys would use a battle-tested template and easy-to-understand reports with actionable insights would be automatically generated.
My motivation was that if more companies used customer development surveys and could gather the right insights from them, they would build better products, find better customers and make more money.
I decided to call the project Surveyval (a misspelling of the word survival using the word "survey") and the game was afoot.
Smile, you're on camera
On Saturday 17th of October, I woke up at 8AM Rome time, had a big breakfast with coffee and started streaming right away.
This was my rough plan:
- Plan the features
- Create and deploy a blank project
- Basic landing page
- Code features
I created a Notion page to organise my day.
I probably spent the first 2.5 hours creating that document, including brainstorming the features and nailing the value proposition. I think this is actually one of the most overlooked steps; when you lay down a precise plan of what you're going to accomplish, it becomes much easier, later on, to simply follow the plan and execute.
That took me around 1 hour to complete (and another coffee).
When the landing page was done, I started building the web app.
Ruby on Rails is my framework of choice when it comes to web development.
I can't stress enough how easy it is to build solid web-apps quickly with Rails but to go even faster, I used a boilerplate I created, called Blueprint.
After 4 hours of coding, I had built the logic to create surveys and collect responses.
This part took considerably longer than expected and was a massive drain on my focus (more on this later).
It was now time to sip another coffee and to tackle the biggest and most difficult part of the project: generating reports.
That part of the project took me another 10 hours to complete.
For once, I massively underestimated how difficult it would be to generate some of the reports. Secondly, I spent a lot of time building a feature called "segmentation" that would allow users to automatically segment the responses and thus create better reports.
At 2 AM, 18 hours of coding non-stop I started feeling very tired but I decided to sip my last coffee and get through the night nevertheless.
My super supportive girlfriend had gone to sleep; now it was just me, my coffee and my laptop.
I honestly don't remember the last 4-5 hours. I was so tired I just wanted to finish and go to sleep. I completely stopped talking to the camera and tried my best to focus on the remaining tasks. What I do remember though is that at one point I looked out of the window and it was morning again. I had coded for 24 hours straight and Surveyval was finished.
To be honest, it's not quite where I want it to be yet, but I'm very proud of the final result.
The reports were wonderful and, most importantly, they do exactly what I promised, that is, "to automatically find actionable insights". For example:
- how close to product/market fit you are
- which customers/segments you should be focusing on and what they like about your product
- which segments are the most satisfied and why (features breakdown and word cloud)
- which features would turn unsatisfied customers into satisfied ones
- how to figure out what to build next
Conclusion and tips
At 9AM of Sunday morning - after being awake for 25 hours - I went to bed and fell asleep immediately. Exhausted but happy.
The experience was great and I'd definitely do it again (not 24 hours though).
There are a few things I've learned that might be useful if you're thinking about doing it yourself:
- Make a plan and stick to it
If you remember only one thing from this post, make it this one. Try to plan everything ahead, every single feature, what is required, roadblocks. Visualize everything.
- Stay focused
It's incredibly difficult to remain focused after many hours coding. Take breaks (see below) but most importantly stick to the plan no matter what. Don't add new features just because you think they'd be cool. Make a note of them and add them later.
- Start with the most difficult feature first
I know this can't always be done (in my case I had to be able to collect responses before I could generate reports), but try to do the biggest and most difficult feature first. Leave simpler features until last.
- Don't spend too much time on design / logos / etc use frameworks, online tools.
Enough said. Focus only on the big parts. For the landing page, I used Carrd, for the logo I used Hatchful. Keep the scope small.
- Test your connection and do a couple of test streamings
On a more practical level, test your connection and do a couple of streaming tests to make sure all the software and hardware work correctly.
- Take many breaks
Your body but ESPECIALLY your mind will need to take a break. Personally, I took at least 6-7 breaks.
Pat Walls has also written a great guide full of useful tips which I highly recommend.
PS: The rewards will be assigned to the 10 products with the most upvotes. If you like Surveyval, you can upvote it here :)
- Consecutive hours awake: 25
- Coffee drunk: 7 big cups
- Project build: 1
- Landing page designed: 1
- Lines of code written: > 5,000
- Signups on landing page: 150