🎯 Your app only needs this one thing

🎯 Your app only needs this one thing
Schema to visualize the NPE Framework from Jean De La Rochebrochard

On this page

Developing an app is not easy.

Once you figure out your idea, you must organize the UI development, business logic, in-app purchases, and ASO.

To simplify this process and ensure you don't develop endlessly, your app should only contain one thing.

That is why the user will install and use your app daily.

1 app/week challenge update #1
Introducing GentleEat, the first app of the challenge. Are you eating too fast? GentleEat will help you to take back the habit of eating slower which has been proven to be a factor for weight loss.

Also, I didn't share publicly the development process. This is something that I want to improve. I plan to add a habit of sharing the progress of each app on my Twitter.

Develop Fast, not Deep

As indie developers, you have one advantage and one disadvantage.

The perk is to ship something fast, as you don't need to pass with the manager or the product team. You can only excel if you exceed the average market speed.

The inconvenience is that you cannot work on several features simultaneously. You are solo, corresponding to 1 human work day, not 2 or 3.

In other words, it means you can be fast but cannot go deep in features.

A practical framework Jean De La Rochebrochard introduced embodies precisely what your app needs.

The NPE Framework

NPE corresponds to Narrative Primite and Enablers. It can help to build B2C and B2B apps effectively. Let's dive into each one.

The Narrative

It is about extracting the profound, sustainable, authentic psychological hook of your users on which you build your experience.

Let's take some examples of companies narratives:

  • Snapchat = privacy and ephemeral.
  • Instagram = always looks good.
  • Whatsapp = know that your message has been read.

Your narrative is the pillar of your app. You must build trust and confidence with your users. Imagine Snapchat has a privacy issue in the following days. They will lose millions of users as they lose confidence in the product.

Now that you define a narrative, your users need to access it.

The Primitive (Core Feature)

It will be the representation of your narrative that users can access. It is the core feature. Let's look back at the previous example:

  • Snapchat = instant camera access.
  • Instagram = filters
  • Whatsapp = chat

You should focus only on the core feature. It should be self-sufficient and make users come back to your app.

Also, it is necessary to keep developing your primitive all the time. There is always something to improve. It can take years of work to make that primitive remarkable and excellent. The goal is to add more value to the primitive, not features.

When you figure out your primitive, you can start finding a name for your product like a lot of actors in the market did:

  • Snapchat = instant privacy, chat that disappears
  • Spotify = spot the right music for you (with recommendation algorithm)

The primitive is a great way to give a product direction to your app.

Once users validate your primitive, you can build secondary ones that intensify it.


It corresponds to features that, within your narrative, strengthen your primitive.

It helps you to keep a focused user experience. The user will return for that experience, creating retention on your app.

You should only prioritize features that amplify the primitive.

Let's take back the previous actors:

  • Snapchat: chat messaging that respects privacy
  • Instagram: camera directly on the app
  • Whatsapp: group messaging

You should respect your users. It means improving the feature that made users download your app in the first place.

Where to go from there?

There are a lot of concepts with examples. Here is what you can start building with them:

  • Find a narrative that is valuable to users
  • Develop the core feature that embodies that narrative (have a look at this article to generate ideas)
  • Ship the MVP (Minimum Viable Product) of the primitive
  • Share your app with users and communities
  • If the primitive is validated, make it better.


A big thanks πŸ™ to Bryan from DevTheory to have shared this framework

Subscribe to Valentin Mille newsletter and stay updated.

Don't miss anything. Get all the latest posts delivered straight to your inbox. It's free!
Great! Check your inbox and click the link to confirm your subscription.
Error! Please enter a valid email address!