

Discover more from Mind Matters
I’ve been a software engineer for the past three years and every couple weeks I have the same conversation with a new smart and ambitious friend. It usually goes something like this:
These people don't want to be full-time engineers. Instead, they want to build successful products.
They want to launch an app for scheduling local events. They want to build a social network for close friends. They want to create a service that sends you a positive message every morning.
With no-code tools like Webflow, Zapier, and AirTable, you can validate product ideas without a single line of code.
As a result, the constraint for building successful products isn’t technical implementation. The constraint is learning to build something people want.
In my time building products at Instacart, Dharma, and Career Karma, I've learned three main principles for building successful products:
Understand what customers want
Build iteratively
Get 100 customers that love your product
Let’s explore each.
Understand what customers want
One of the hardest parts about product development is figuring out what people want. For example, when I joined my previous startup, Dharma, the team decided to launch a feature where any Dharma user could use our app to send money to a Twitter username. The Twitter user could then download our app to claim their funds.
We imagined potential use cases - sending money to nonprofits, rewarding meme accounts for viral tweets, funding an influencer’s side project, and more. So we spent the next month heads down building the feature. After some initial hype, only a handful of users continued using it.
Paul Graham calls these types of ideas “sitcom ideas”. He explains:
“Imagine one of the characters on a TV show was starting a startup. The writers would have to invent something for it to do. But coming up with good startup ideas is hard. It's not something you can do for the asking. So (unless they got amazingly lucky) the writers would come up with an idea that sounded plausible, but was actually bad.”
Great product ideas don’t come from brainstorming plausible ideas, they come from noticing problems in your own life. For example, if you want to build a consumer social app, notice what annoys you while using existing social apps.
“I wish YouTube live streams were more interactive.”
“I wish it was easier to display my past Twitter threads.”
“I wish this subreddit had a member directory.”
Most successful startup founders started by solving a problem they faced themselves. In many cases, other people face this problem too.
After noticing problems in your daily life, it’s useful to speak to potential customers. Many people fall into the trap of asking questions like:
“What do you think of my idea?”
“Would you ever use it?”
These are bad questions because people are usually too nice to criticize your idea. It’s like telling someone their baby is ugly.
Instead, early customer conversations should give you concrete facts about your customers’ lives and world views. To do this, ask about specifics in the past instead of opinions
about the future. This ensures you’re solving a problem they’re actually facing.
Here are a few sample questions:
"What are your current goals and pain points right now? Why?"
"How are you dealing with this problem now?"
"Have you ever paid for it? What’s your budget?"
Ultimately, the best validation you can get is paying customers. See if you can get customers to pre-order your product for a discount.
We used these customer development principles to turn Dharma around.
After launching the Twitter payments feature, we went back to the drawing board. Upon some reflection, our team realized there wasn’t a mobile app for trading tokens in the decentralized finance (DeFi) space. We all wished there was an app with features like searching based on filters, automated purchases, price charts, etc.
We spoke to a few customers and some of them already developed their own hacky solutions. For example, one customer set a daily alarm to remind himself to buy a certain token each day. As we built these features over the next few months, our growth exploded and continues today.
Great product ideas come from observing real-world problems, not brainstorming plausible ideas.
Instead of writing code:
Use your favorite apps and note any features you wish they had
After noticing a problem in your life that could be solved by software, write it down somewhere
Understand pain points for customers in industries you find interesting
Build iteratively
At 24, Apoorva Mehta quit his job as a software engineer at Amazon to work on a few startup ideas. After two years, he was lonely, depressed, and going broke. He spent six months working on a social network for lawyers only to realize nobody wanted to use it.
After reflecting on how much of a pain it was to go grocery shopping while growing up in snowy Toronto, he built a product for delivering groceries to your door. But instead of spending another six months building a polished product, he asked a few friends if they’d be willing to pay him to deliver their groceries. He received text messages from friends with their grocery list, shopped the items himself, and delivered it to their doorsteps.
Soon, he became overwhelmed with orders. He spent the next few weeks hiring contractors to help complete the deliveries. Without writing a line of code, he gained enough traction to convince himself it was worth building an app.
Instead of taking months to build an automated and scalable solution, Apoorva made small incremental improvements until it became what it is today - Instacart.
Iterative product development is about shipping the simplest version of the product that can be tested with customers. Many products fail because they take too long building a complex version of the product.
For example, if someone asked you to build a product that helped them get from point A to point B, you may take this approach.
The issue here is that it takes too long for the customer to give feedback on the product. Maybe the finished product is too expensive. Maybe it’s too complex to use. Maybe it doesn’t work the way the customer needs it to.
Instead, ship the earliest testable product. Here’s what it could look like for a product that helps someone get from point A to point B:
With this approach, the feedback loop between what you build and what the customer wants is much tighter. This ensures you build exactly what they want.
Today, it’s easier than ever to build iteratively. Most product ideas can be validated with a landing page and no-code tools.
Instead of writing code:
Learn how to create a landing page using Webflow
Test ideas using no-code tools like Zapier and AirTable
Understand UX/UI principles for creating simple and delightful experiences
Get 100 customers that love your product
In 2017, Breaking Into Startups was one of the most popular tech career podcasts. They had a Facebook Group with 10,000 members but engagement was low. Many posts didn’t receive any responses which caused members to stop posting and slowed down growth. The founders had a choice - try to grow the existing business or create a new one.
In the early stages of building a product, you can either build something a lot of people kinda want or build something a few people really want. Let’s call these two strategies the Garden and the Well.
Most successful products follow the Well strategy. For example, Facebook started as a social network for Harvard students. AirBnB started as a website for renting airbeds during conferences. Uber started as a premium black car service.
The Well strategy works because it allows you to focus your product. When done right, the customer feels like the product was made exclusively for them. As a result, customers have a great experience and tell their friends which drives growth.
Given this, the Breaking Into Startups founders decided to start a new company called Career Karma. They sharpened their focus to be the best product for helping people get into coding bootcamps. Instead of spending months coding an app, they created a group chat with customers, provided 24/7 support, and held weekly Q&A town halls to answer questions.
After a few weeks, their early customers began getting accepted into bootcamps and raved about the experience to their friends. With just 100 customers that loved them, Career Karma was able to secure funding to hire engineers to build the first version of the app.
Many times, the hardest part of building a successful product is getting your first 100 customers that love you. Career Karma was able to tap into their Breaking Into Startups community for early beta testers which gave them an unfair advantage early on. Likewise, think about how you can begin to develop a community of potential customers.
Instead of writing code:
Build an online audience through social media, a newsletter, or podcast
Become an active member of online communities (e.g., Product Hunt, Hacker News, Twitter, Slack, Discord, Reddit, FB Groups, Indie Hackers)
Manually recruit your first 100 customers through cold outreach and high-touch onboarding
Where to go from here
If you’re like my smart and ambitious friends with endless product ideas in the Notes section of your phone, don’t start by writing code. Instead, learn to quickly validate product ideas.
Understand what customers want. Build iteratively. Get 100 customers that love your product.
The best place to start is by working on projects. Challenge yourself to launch something in a few days that gets 100 customers. Then do it again. The key is to move quickly and test ideas with real customers. That’s the foundation for a successful product.
Thank you to the Compound Writing members who reviewed this post: Drew Stegmaier, Adam Tank, Joel Christiansen, and Stew Fortier.
Stuff I’m Enjoying
My First Million
Over the past few weeks, I've decided that the next phase of my work was going to focus on building a portfolio of profitable bootstrapped software products. My First Million has become my favorite podcast lately because it’s two guys shooting the shit about startup ideas. They’re hilarious and not afraid to speak their mind.
They cover everything from how to come up with ideas, how to validate them quickly, how to distribute products effectively, and how to gain leverage through automation, hiring, and investing. After listening to a few episodes, I now have a list of products I plan on building over the next few months. This is the type of podcast I’d love to create one day 🤞
Shantaram
I’ve seen this book recommended by a few people I respect so I gave it a shot. It starts off with the most epic intro paragraph I’ve ever read:
“IT TOOK ME a long time and most of the world to learn what I know about love and fate and the choices we make, but the heart of it came to me in an instant, while I was chained to a wall and being tortured. I realised, somehow, through the screaming in my mind, that even in that shackled, bloody helplessness, I was still free: free to hate the men who were torturing me, or to forgive them. It doesn’t sound like much, I know. But in the flinch and bite of the chain, when it’s all you’ve got, that freedom is a universe of possibility. And the choice you make, between hating and forgiving, can become the story of your life.”
The book is about a former heroin addict that loses custody of his daughter, goes to jail for armed robbery, escapes, then lives as a fugitive and becomes a drug trafficker. Turns out, the author actually lived all of this. Mind blowing. This book is showing me that sometimes people do things not because they’re bad people, but because they’re simply trying to survive. The book is over 900 pages so I doubt I’ll get anywhere close to finishing but there’s some deep wisdom in there so I try to read a few pages every couple days.