Learning to Build in Public
Failing to Start a Software Business
I've been trying to start a software business for a while. I wrote about how I quit my job and failed to start a business a few weeks ago.
I spent seven months building a product. I should have been talking to people instead. "If I build this one feature, people will have to see how awesome this is," I would tell myself.
I would build that feature. Nothing would happen.
"Oh, now I need this other feature. That's what's missing."
I trapped myself thinking features were missing. A real customer problem was what was missing.
The Love of Building
I was always tinkering with things growing up on my parents' farm. During heavy rain, I would play in the ditches along our dirt road, making dams with the rocks and mud. I helped repair farm equipment when it broke down. I took a welding class in high school and built a squat rack.
The ability to create software is magical. Software lets you build fast. You can turn an idea into real software and send it to someone on the other side of the world.
It's also easy to fall into the trap of building with your head in the sand when you love to make things.
After seven long months, I realized I had my head in the sand. I needed to take a complete break from Polished.
I had to start something new.
Coming up with an idea wasn't a problem. I have tons of ideas that would be cool to build.
I struggle when it comes to validating an idea to determine if I should spend time on it.
I planned to spend a lot more time evaluating an idea this time before starting to build it. No matter what it was, I would start with a simple landing page and get feedback from people. I made a deal with myself that I had to have five email signups before I started building anything.
I was a paying user of Shift. Shift is an app that makes it easy to switch between multiple email accounts. It's a browser built on Electron that helps you separate browsing contexts.
Shift is trying to become the default browser. I liked the email switching feature, but I didn't want it to be my default browser.
It was also $99/year. That's a pretty steep price tag for an email switching app.
I decided to explore building a replacement. A chrome extension that allows you to switch between multiple email accounts.
I would start with a landing page.
Iterating Before Coding
I spent an hour and built a rough design mockup of the idea I had.
Then I spent a day building a landing page using the design mockups.
Creating the initial landing page was so much easier than usual with design mockups on hand. I was able to include screenshots of the product. I didn't have to resort to using generic illustrations.
Then I set out to get feedback. I was giddy with excitement to get this new idea out there.
This first version was horrible.
Someone made a video review of my landing page. It was the most helpful review I've ever gotten on any work. The suggestions were great, but they weren't what blew me away.
This video review made me realize that I had many ideas in my head that random visitors did not.
Strangers have no idea what your product is. When a stranger looks at your crappy landing page, they have a ton of questions. When you look at your crappy landing page, the answers are already in your head. You don't realize what's missing.
Seeing someone confused by my landing page was the shock I needed.
I wanted to share this realization with other people. I offered free landing page reviews for people in the form of a video.
I used these connections as a springboard to get feedback and iterate.
I would update the landing page and design mockups. The get feedback. I repeated this process until people seemed to understand the idea.
Once visitors started to understand the idea, I began to get signups. Five people signed up for early access in this first week of iterating on the concept.
Time to Build
People that I didn't know were signing up. They would stumble upon the landing page for Tidy Workspace and signup without talking to me.
I had hit the limit of my design skills to make the mockups convey how it worked.
I decided it was time to build.
I went heads down built the initial version in a week.
Failing to Share
I went dark.
I became so consumed by writing code during that week. My online presence went from the most active it's ever been to radio silence.
Traffic from the previous blog post and the weekend of landing page reviews was dying down. I was getting fewer messages from people. It felt like my existence was disappearing.
Building in public is hard.
Being active online while building things is does not come naturally to me.
It's not a good feeling when traffic starts to die down. No matter what you build, it feels like people don't care about it. In reality, people don't know about it.
I'm excited that it took me three weeks to learn this lesson as opposed to seven months.
It's okay to build things slowly. It's okay to take longer than a week to create the first version of something.
Be consistent. Make small gains little by little. It's a long road regardless of how fast we try to go. Design your journey so that you're more likely to keep going.