Start with the problem, not the solution

March 14, 2021

In life and in work, whenever faced with a problem, we tend to default to a solution.

Below is a hypothetical example. How many times has this or something like this happened?

“People are landing on our website, but they aren’t signing up. Let’s create a sticky header and add a big CTA button.”


“Users aren’t returning back to our app. Let’s send push notifications to remind them to check-in.”

People default to solution-first because coming up with solutions is easy. “Let’s do this, or let’s do that.” The list of things you can do are endless.

Problem-first approach

Defining problems on the other hand is hard.

To identify a problem, you need to really apply yourself. Your mind feels challenged at the number of questions that arise, the unknowns that get thrown at your face, the uncertainty of whether you are focusing on the right area.

Better to not take that risk and just focus on solutions right?

I’m here to tell you - don’t do that. Don’t pick the easy path.

The easy path always accrues debt. And debt always has to be paid off.

How about we exercise our minds in identifying problems and preventing the creation of this debt in the first place?

Before building a new product, start with a problem

I like explaining with examples. So here’s one that distinguishes between the solution vs problem first approach.


You are building a GPT-3 powered content creation tool.

Solution-first: Let’s build a GPT-3 based AI content creation app. People can use it to create any type of content with the power of AI!

The landing page of this product will say “GPT-3 powered AI content creator. Create any content with AI in seconds.”

Problem-first: Marketers face an acute problem whenever they are crafting headlines for landing pages or ads.

They need inspiration, the ability to generate multiple variations of ideas, and then pick the idea that looks best. How can we help marketers create better copy for their ads or pages?

The landing page for this product will say “Struggling to generate catchy headlines for your Instagram ads? Use this AI content creator to generate a dozen ideas in seconds.”

Questions to ask before building a product:

  • What is the exact problem that this product will solve?
  • Who is it solving this problem for?
  • How acutely and how frequently do they face this problem?

Before defining a new feature, start with the problem

This mindset isn’t limited to building a product from scratch. Every feature that you add in your product can benefit from the same mindset.


A “health” app is trying to get more users to check-in and track their calories.

Solution-first: Let’s send push notifications to remind them to check-in during every meal.

Problem-first: People trying to create a healthy habit struggle with sticking to their habit as there’s too many distractions going on in their day-to-day.

When they open the notifications drawer of their phone, they are spammed by 100s of different seemingly important notifications. How do we make it really easy for our users to remember to track their calories?

People open their phones 50-100 times a day, and the first thing they see is their home screen.

What if we educated our users to add a widget to their phone’s home screen? This widget will show them their calories tracked for the day, as well as a convenient button to add their next meal in seconds.

This way, whenever they unlock their phone, even if they have a gazillion notifications, they never miss seeing their calorie tracker.

Example 2

I’m guilty of doing this recently. Here’s a real-world example and how we would have added a new feature to DelightChat had we taken the solution-first approach.

Recently, our customers asked for the ability to search order IDs from their Shopify store. Our current search returns customer matches.

Solution-first: Let’s add a radio button, allowing users to toggle between the type of search they are performing. That way they can switch to an order search instead of customer search and vice versa.

Problem-first: Customer typed an order ID in the search bar, and expected a matching order in the results. Order IDs are unique, so it’s either a 100% match or miss.

What if our search API first looked at the customer’s orders, and returned an orders card for an exact match. And if there isn’t an exact match, perform a customer search.

Questions to ask before building a feature:

  • What is the exact problem that the customer is facing?
  • What is the outcome that the customer is seeking that a solution should provide them with?
  • How many or what % customers would be impacted if we build this feature?
  • What would be the degree of impact in their lives? Will it be once a week they experience the benefit, or 50 times a day?
  • What is the smallest, simplest, easiest way we can solve the problem?

Through this process, many times you will discover that there wasn’t a big enough problem to begin with.

As a result, you can move on and focus on something more important. Or better, you avoided stuffing your app with yet another unused feature.

Before making changes to optimise your website, start with the problems

Problem-first mindset isn’t limited to building product. For that matter, it extends to every facet of your work, whether you’re in engineering, design, marketing or any other.

Here’s a problem we are actively trying to solve at DelightChat, and how we would go wrong with the solution-first mindset.


A lot of people are visiting our website but not enough of them are signing-up. We even added a section with a text and CTA as the header of some of the pages.

Solution-first: People must be missing the header when they scroll past. Let’s make the header sticky.

Problem-first: People visiting our site are coming from various sources, and are landing on various type of pages.

Some type of pages - people directly looking for a customer support software solution. And other type of pages - people who run a Shopify store and were looking for certain type of apps for their business.

Both type of visitors require a very different approach. Let’s first pick the ones who are directly looking for a solution.

These people typically land on our competitor alternative pages, our home page, and they visit our pricing.

An experienced marketer told us: People don’t trust beta software with something as critical as their support operations. If things go wrong, the consequences of having disgruntled customers is too much to bear.

Okay, so trust in beta software is a problem. DelightChat’s product is currently in a state where people can actually sign-up and start using it. We don’t need to announce to the world to come to us. But we also don’t need to caution people already coming to us that we are some messy beta product that’s unusable.

The solution is now obvious - Let’s remove all mentions of beta, and change our CTA and text to how a legit SaaS product website would be like. That includes “Sign Up” instead of “Sign Up for beta” CTA.

We already did this last week.

A lot of brands during 1:1 demos told me that, the product looks great, but is there a catch with the pricing? It’s not mentioned at all and they are wondering how much this is going to cost them and whether they can afford it.

It’s a real problem. If someone were to visit a SaaS product website, and they are interested in signing-up but can’t find any useful information about actual prices on the pricing page, the anxiety and uncertainty could cause them to say “nope, not risking it, I’ll check the next solution.”

The solution is once again obvious - Let’s build out the pricing page as any authentic SaaS product would, with descriptions of features, what they get and don’t get in each plan, and FAQs to answer the most obvious objections.

We changed this last week as well.

Before taking action upon anything in your life, start with the problem

What I love the most about entrepreneurship and life is that they are perfectly married. What you learn in one area can be applied to the other.

Becoming problem-first is not just an approach on how to work, it’s an approach to living life.


From the beginning of 2021, I’ve been exercising quite regularly.

I had 2 goals when I started:

  1. Become physically fit
  2. Lose weight

I’m running, doing bodyweight training, waking up early - this is what I had planned to do.

My body feels better, more flexible, is able to do more push-ups with every passing week.

However, by the end of February, I hadn’t lost a single KG of weight. And initially I was just trying to exercise more, but the real problem was that I wasn’t able to control my eating.

Losing weight = Calories burnt - calories ingested. Unless you burn more calories than you eat, you don’t lose weight.

It’s such simple science. Simple things are obvious, but the hardest to do.

The solution in this case is not a diet. It can’t be a hack. Because if I go on a diet, the moment I stop following it, I’ll go back to my previous state.

The solution is to look critically at my food intake throughout the day, the types of food I eat and don’t eat, how much I eat, and change it permanently. It’s something I would continue doing even when I reach my target weight.

Don’t be a solution in search of a problem

I’m not perfect.

The reason for writing today’s post? More than few times, I’m guilty of moving ahead with a solution-first instead of a problem-first mindset a few times.

This is especially an easy trap to fall into when customers ask for a feature, and the immediate reaction is “let’s build this, our users are asking for it.”

But that’s exactly when we need to apply ourselves and try to ask our users:

  • What is the exact problem you’re facing?
  • Why is this problem happening to you in the first place?
  • What is the smallest or simplest thing I can do to eliminate the root cause of the problem, or to solve it completely

Don’t marry solutions to problems.

It becomes endless struggle to make those two ends meet.

Don’t limit yourself in the solution space.

You lock yourself out of the creative process of discovering elegant solutions by not starting with the problem.

Don’t start with a solution.

Your customers are looking at you to eliminate problems in their life so that they don’t fall in the first place.

Don’t apply band-aids. Prevent them from falling instead.

By the way, I teach a course called Learn Programmatic SEO to help grow Google search traffic.

Programmatic SEO is a methodical and data-driven approach to finding keywords, understanding user intent and creating dozens or hundreds of pages of content.

Learn how to apply this framework to your business, whether it's ecommerce, SaaS, or even a side project. No prior SEO knowledge required.

Learn more about the course
💌 Enjoyed reading?

I write a weekly newsletter called ☕️ Sunday Coffee where I share my learnings about building profitable SaaS businesses and living a good life. Check out the newsletter archives. I think you'll like it!

You'll be joining 863 others who read my newsletter every Sunday morning. Best had with a cup of fresh coffee ☕️

You can also subscribe to the newsletter via RSS feed.