How to Build Habit-Forming Apps – “Hooked” by Nir Eyal (Book Review)

What do Facebook, video games and slot machines have in common? If you don’t watch out, they can easily get you addicted and occupy you for hours on end every day. Sure, Facebook is a useful service, but why do so many people completely lose control over their usage and almost impulsively need to check their phones all the time? And why is it, that once you start scrolling through your social media feed, it becomes so incredibly hard to stop? The answer is, that these social media platforms and other engaging products are specifically designed to cause addictive behavior. And they do that with similar techniques that are also used in gambling.

This post is a summary of the book “Hooked” by Nir Eyal. I read it a while ago and decided to pull it out once again, because I remembered how useful it would be for anyone trying to build an app. Disclaimer: I’ve never built a successful app myself, because I am not an advanced developer yet. I am still learning, so take my post with a grain of salt. However, I do what I always do: I research a topic, summarize the information I find and add my own thoughts to it. This blog post will give the general idea of the book, but if you ever intend to actually build your own app (or any other consumer product) and you want it to be a success, you should really read the whole book. This is the kind of knowledge you need in order to understand what is going on in the heads of your users. Just building something “good” with a lot of features isn’t enough. You have to know a few things about human psychology.

Tip: Listen to the audio version for free with the Audible trial membership.

If you want a lot of users to open your app regularly, you have to turn the usage into a habit. Your app has to become the natural reaction to a certain trigger that people are exposed to regularly, so that they use it without having to think too much about it. If you do that ethically, with a product that makes the life of your users better, or unethically, by trying to get them addicted to destructive behavior, depends on your personal moral compass. That’s your decision to make. But there is no point in ignoring this information, unless you want to build an app with low engagement on purpose.

To begin, answer this question: When do you visit Facebook (or any other social media platform for that matter)? What is the trigger that causes you to open the app or website? You would probably say that you open Facebook “when you want to read news about your friends”. But is that really true? Pay more attention to your emotional state when it happens. Isn’t it rather that you tend to open Facebook when you feel stressed out or lonely? Sure, sometimes you might actually be searching for something specific like an answer in a group or some other piece of information, but if you are like most people, a lot of your social media usage happens habitually and out of emotions. When we feel overwhelmed, we procrastinate by switching to Facebook and aimlessly scrolling through our feed. When we’re bored, we open up Youtube and click on some interesting videos. When we feel lonely or depressed, we check our email inbox or see if we gained some new likes on Instagram. And when we feel uncertain or curious, we instinctively type a question into Google. What particular emotion you feel before you engage in any of these activities might differ, but the point here is that we rarely use these apps and website because we consciously planned it – we visit them out of sheer habit and as a reaction to how we feel at the moment.

Humans form habits because our brains try to save energy. If we would have to think about every single action we do consciously, we would be totally depleted before lunch. Instead, we learn that different behaviors lead to certain rewards (like switching to Facebook relieves stress), and when we repeat these behaviors a couple times, they get encoded into our brain and from then on happen pretty much on autopilot. The first couple of times you visited Facebook, you did it because it was new and interesting. But after using it for a while, you started habitually open it up whenever you feel some stress or frustration or loneliness bubbling up. You do it automatically, just like you brush your teeth without thinking much about it because you have repeated it a couple thousand times.

To turn your own app into a habit and create a similarly engaging product, you have to cycle your users through the so-called “Hook Model”, which is the main idea of the book. The Hook Model consists of 4 steps:

  1. A trigger
  2. An action
  3. A variable reward
  4. An investment

Let’s go through each step one by one to understand how we have to build our app:


1. Trigger

Every habit is initiated by a trigger. This is nothing new, it’s actually a pretty well-known fact about habits and also described in other famous books like “The Power of Habit” by Charles Duhigg.

We’ve already learned about internal triggers, which are our emotions. When you feel stressed out, you open Facebook, remember? But there was a time when you had no Facebook account and pulling out your phone and scrolling through your feed wasn’t an automatic behavior. The very first time you visited Facebook – probably because a friend sent you a link – you came to the login page where you were prompted a big fat “Create an account” button, very visible and highlighted in a prominent color.

Facebook signup page. The signup button is highlighted in green.

This is a so-called external trigger. It tries to grab the users attention to make him take a certain action. Other examples of external triggers are ads, notifications and emails. Your friend sending you an invitation link is also an external trigger.

Every habit has to start with external triggers, how else are people supposed to find out about your new app? To get it in front of eyes, you would probably post about your app in various communities, send some direct messages to potential users and friends or maybe even pay for some ads. Social media marketing, for example on Instagram, is also very effective to get people’s attention. You could also get lucky and hit a good ranking in the Playstore so a lot of people see your app icon and become interested that way. Again, an external trigger. When people then actually install your app and open it the first time, the signup button should be as shiny and prominent as Facebook’s one above. This is probably more important on websites, where there is more room for distractions.

But external triggers don’t end after the signup process, they also help keeping your users engaged. For instance, when someone responds to one of your Facebook posts and you get a push notification on your phone, it acts as an external trigger that will get you back into the app. As an app developer, you could also send notifications to inform your user about new content or to remind them about some upcoming event. You could also collect email addresses to send a newsletter from time to time. Those are all ways to bring users back to your app with the help external stimuli.

However, external triggers have limited effectiveness, and engaging apps don’t rely on them alone. Obviously, you can’t show your users ads all the time without paying huge amounts of money, and you can’t send them emails and notifications a couple times a day, because they would probably just block them altogether. External triggers are not what causes this extremely active user base.

Ultimately, you want people to use your app in reaction to an internal trigger. Just as Facebook, Instagram, Reddit, Youtube or any other big platform, you want your app to be the automatic reaction to a certain emotion, because emotions come up multiple times over the course of a day and you don’t even have to pay for them. The most effective products are the ones that help users get rid of negative emotions. Think about it, most of your habitual app usage probably happens as a reaction to discomfort. Boredom, stress, overwhelm, loneliness, fatigue, confusion, maybe even depression. Products that help getting rid of such a negative emotion (“scratch an itch”) are also called “painkillers” (as opposed to “vitamins”, which are products that are just “nice to have”). Right now I have the itch to open Facebook just for the sake of releasing some stress that piled up from writing this post and battling with the English grammar. I also often feel the need to scroll through Twitter because I might be missing something important that could be gone by tomorrow – an entirely negative emotion and I barely enjoy it, but it makes me use the platform daily. Whereas I have a fitness tracking app that I find very useful, but never open outside of the gym. According to the book, research has shown that people with depression check their email inbox more often. I couldn’t find this particular study, but I believe it, because I show the same behavior when I feel down. Negative emotions hurt, and getting rid of them as quickly as possible is our absolute priority. If your app can be the painkiller for at least one of these bad feelings, and be it just by getting rid of boredom, you have a high chance of getting a very active user base. You just have to make sure that your app is the first that comes to mind when the emotion kicks in. To build this internal connection between the emotion and your app, you have to lead the user through the rest of the Hook Model.


2. Action

Of course, you want the user to do something after he is exposed to a trigger, be it an external or internal one. You want him to use your app (and you want to make a habit out of it).

In order for a person to take a certain action, 2 criteria have to be met: He has to be motivated enough, and he needs to be able to do it. The harder it is to take a certain action, the more motivation is needed. Makes sense, right? As a product/UX designer, you want to keep every action as simple as possible.

So when the user first opens your app in reaction to an external trigger, signing up for a new account should be very easy. You wouldn’t register in an app that you barely knew and that wants you to fill out complicated forms and provide sensitive data, right? You’ve probably uninstalled new apps before, just because the signup process was such a struggle. When your app is new to a user, don’t scare him away. Keep it simple and consider providing support for social logins, like with a Google- or Facebook account, where he doesn’t even have to type in an email address or password and can just start with a click.

After signing up, using your app has to be just as easy. Let’s take a look at the Facebook app again. Opening it up and scrolling through the feed is a very simple action to take, so it doesn’t require a ton of motivation. The feed is not hidden somewhere deep in the app, it is the main tab and it comes up right away even if I close the app and restarted it. The posts are ordered so that interesting and new content is at the top and refreshing the list just takes a quick one-handed swipe movement. When you visit Youtube, as another example, you get personalized video suggestions right on the front page and when you click on a thumbnail, the video starts playing without you having to press a play button. When you visit the Google homepage or use the Android Google widget, you don’t first have to click on the input field before you can start searching. It is selected right away and you can start typing immediately. This matters, because again it reduces the amount of motivation necessary to use your product. All these apps need very few steps to use them, and this should be the case for your app as well.


3. Variable Reward

After the user took an action (opening your app and using it), he has to get rewarded. Obviously, people don’t use your app because they want to do you a favor. They expect something in return: a form of gratification that helps them get rid of the negative emotion they started out with: boredom, stress, loneliness, exclusion etc. It doesn’t have to be something huge. Just think about your favorite apps and what you get from using them. Possible rewards are things like finding an interesting post in your feed, getting a new like or a reaction, finding an old friend in the suggested contacts, gaining a new level in a video game or even materialistic things like a prize money in the slot machine example.

But here comes the catch: The most effective rewards are the ones that come in an unpredictable frequency, so-called “variable rewards”.

Variable rewards are the heart of the Hook Model. There is something about uncertainty that completely bewitches our brain. This has already been discovered in the 1950s by a psychologist called B. F. Skinner, when he tested different reward schedules on lab animals. For this, he placed an animal, for example a mouse, in a special chamber, called “Skinner box”, where it could press a lever to get a food pellet. This reward, of course, enforced the behavior, so the animal would press the lever more often to get more food. Until here nothing special. However, if instead of at a fixed ratio or time interval (for example on every single or every 5th lever push), the reward would be released at random intervals, he noticed that the mouse would press the lever much more often and for longer periods at a time. These unpredictable rewards released higher levels of dopamine in the brains of the mice, so they basically got addicted to gambling for food. There is something about uncertainty that leads to compulsion and addiction and this is the case for our human brains as well. Just like these lab mice, we crave predictability and patterns and if we can’t find any, we can’t stop searching.

Slot machines are a good example to show how powerful these variable rewards are, because they are basically human Skinner boxes. If someone offered you a job where you did nothing but pull a lever for hours on end for a 0.50$ per hour wage, would you do it? Probably not, because it would be a depressingly boring job and you would become sick of it pretty quickly. But when people play on slot machines, they do exactly that, just that they actually pay money to pull that lever. Everyone knows that every round on a slot machine has a negative expected value. In the long run, for every dollar you put in, you get less than that amount back. A terrible deal. And the activity is not even particularly exciting. And still, casinos manage to hook their customers so much that it often destroys their life. This is, by the way, an unethical way of applying the Hook Model. A similar but less devastating form of variable reward are items (loot) that monsters drop randomly in a video game.

But it gets even more interesting when we look at social media. Think about the different apps you use regularly and how they provide rewards in a variable ratio. In your Facebook (Twitter, Instagram, Youtube…) feed, not every post is interesting. Actually, most posts are pretty boring and don’t relate to you at all. But when you keep scrolling, from time to time – without exactly knowing when – you find a gem. Something exciting, funny, relatable or otherwise interesting. This is the variable reward. This is the information slot machine. In the Google search, not every result is exactly what you were looking for, but when you keep scrolling you find some interesting pages. When you swipe through Tinder, the variable rewards are the matches with attractive people you get from time to time. And when you receive a new email, it could be something boring like a service update, but also something exciting, like a message from an old friend or some answer you have been waiting for. If every single or exactly every 5th post, swipe, email, video or notification was interesting, you would have a much easier time stopping, because your brain could find a predictable pattern and calm down more easily. But since every next post could or could not be a hit, you want to see just 1 more…and 1 more…and 1 more. Oops, why is it suddenly dark outside?

Anticipation of a reward is a much stronger motivator than actually getting the thing we want, because our brains a wired to constantly search for more and never really be satisfied. Variable rewards make the difference between giving users what they want, and giving them what they want while still leaving them to want more.


4. Investment

The previous 3 steps are necessary to build a habit. A trigger causes an action and leads to a reward. The brain remembers this and encodes the routine into the brain. Variability makes people hunting for rewards longer and more impulsively. But the Hook Model contains a 4th step, which helps creating the habit more quickly and building a longterm connection between the users and your app: After getting his reward, the user should make an investment into your product. But just like for rewards, we are usually not talking about money here. More often, this is an investment of time, effort and/or data. This step is not about paying you, it is about the user contributing to the service with a little bit of work. This could be by creating a new post, responding to a message, following more people, adding something to his profile or customizing some settings.

This has several effects:

First of all, it adds more external triggers. When you write to a friend in Facebook (investment of time and effort), you already prepare the next trigger, because he will eventually respond and you will get a new notification, to which again you react with an action (opening the app to read the message and answer him). This keeps you in the cycle and makes sure that you come back. The same happens when you take part in an online conversation, to which other people will then respond. Or you do something in a mobile game that then sends you a notification after a waiting time. In all these examples, you’re basically setting yourself up for the next round in the Hook cycle.

Other forms of investment, like following more people, adding data to your profile or customizing the app to your preferences, improve your experience as a user by making the product more personal. Studies have shown that we value things higher when we invested time and effort into them, which is also called “the IKEA effect” (for obvious reasons). Your Facebook profile is probably very valuable to you, because over the years you have customized it by adding friends, joining and participating in groups, following pages you’re interested in and setting up your personal profile in great detail. When you have invested a lot into a product, it becomes very hard to leave it behind.

Most platforms want you to make an investment right away, because they want you to get attached to their product as quickly as possible. When you register on a social media site, you are often asked to let the app check your contacts to search for existing friends, so you can follow them immediately. That’s an investment right there. Other websites ask you for your interests to find out which content you might want to see. By providing this information, you start investing time, effort and data into the app, personalize it and bond to it. This makes it a bit more likely that you open it a second time. And then the cycle begins again.


You see, creating an app with high engagement is not just about providing cool features, it is about forming habits that make the user come back again and again with little or no conscious thought. Once learned, habits are incredibly hard to break. This is why it is so difficult to dethrone huge websites like Facebook or Youtube. In communities, I often see people posting about their awesome idea for a social media network that would be an improved version of an already existing one. This might be true, you probably could create a “better Facebook” with better features. Maybe it would even be twice as good. But Facebook is not just a product, it is a habit, and replacing it with something else in the heads of millions of users is an almost impossible task. It would be just as difficult as inventing a complete replacement for the toothbrush. Plus users have invested time and effort into Facebook, added friends, joined groups and created posts, which would all be wasted if they switched to an alternative.

But keep in mind that not all apps and products have to be habit-forming. Something that is intended to be used infrequently, like filling out tax forms, doesn’t need a feedback loop. But if you want to build an app that users go back to very frequently (at least once a week), go through the Hook Model and ask yourself the following question:

  1. Trigger: Which external triggers (invitations, ads, social media posts, emails, notifications…) can you use to get people to sign up for your app and then remember them to come back to it regularly? Which internal triggers/emotions can your app invoke or get rid of to keep users coming back without having to remind them externally all the time?
  2. Action: Is it easy to sign up for your app? Is it easy to use your app in anticipation of a reward? Are there any unnecessary steps you can remove?
  3. Variable Reward: How can you reward your users for using your app and how can you add an element of unpredictability to keep them wanting more? This could be a feed, personal messages from other users, random prizes etc. The more different type of rewards your app can provide, the better.
  4. Investment: After getting the reward, what small investment can the user immediately make to improve his future experience with your app and to prepare the next external trigger? This could be something like following other people or topics, adding information to his profile or posting own content to which others can then react. Make sure to ask the user to make an investment right after signing up the first time, but don’t make it mandatory (since this would require higher motivation to get started).

The more often and quickly you can lead users through this cycle, the more likely they are to build the habit of using your app.

At this point, I want to repeat that the Hook Model is a form of manipulation. But even if we don’t like it, manipulation is a big part of our day to day life, we often just don’t notice it. There is no point in ignoring this fact, because that doesn’t make it go away. Instead, learn to use it for good. Apps like Duolingo for example, create feedback loops around the habit of learning, which is an example of an ethical use of the Hook Model, because it makes people’s lives better. Productivity apps with gamification elements can help people enjoy getting organized and well-designed fitness apps can get people hooked to the process of getting healthier. Those are all good causes. Try to create something that improves the life of your users, so you can look at your product with pride instead of guilt. Create something that you would use yourself regularly.

Also, leave me a comment below and let me know about examples of the Hook Model you could find in other apps. See? Even though I am sincerely interested in your ideas, I am at the same time asking you for an investment. If I or someone else answer to your comment, you are very likely to get back to this page, read the answer, react to it and then maybe visit more pages or watch a few tutorials. But since my content is educational, I can do that with a good feeling, because I have nothing on my entire homepage that makes anyone’s life worse.

10 thoughts on “How to Build Habit-Forming Apps – “Hooked” by Nir Eyal (Book Review)”

  1. Thank you for your very helpful video tutorial on android architecture components. That “hooked” me to your site. This article opened my eyes too. This is investment via gratitude shown to you. The advertisements I watched should get you well earned cash. I am looking forward to more

  2. First of all your MVVM android series made me subscribe to your channel because it is elegant and clean tutorial series, finally the first series on this topic that isn’t explained by an indian, and besides that your explanation was very clear.

    This hooked me to browse more of your videos and I noticed you have a blog which made me interested to read more about you. This is the first post i read here and i loved it. I can also guess what is your aim

    After reading this article, i have a question. How are real time chatting apps so successful? Sure, whatsapp is successful because it was the first real time chatting app that was for FREE. But then Viber came and is equally successful as whatsapp and I can NOT tell a single difference between them. Then telegram came. Just a chatting app with private or single groups of people. Then IMO app came. Just another chatting app with no new features.. Then snapchat came, just another chatting app but this time the messages disappear. And then there are 200 more chatting apps that i can’t name after all this hype – and all of them do the same or relatively the same thing – and yet are still (somewhat) successful. How?

    I had to install over 3 chatting apps before on my phone just because some people use viber and not whatsapp, or some use whatsapp and not viber, but some use telegram and not viber and whatsapp etc. It’s really annoying to use multiple chatting apps that do the same thing.

    My question is:
    1. what is the intersected trigger that all these apps have in common?
    2. all of them have made the signup process simple, but all of them still offer the same thing
    3. investment. why would someone invest their time downloading 2 or more chatting apps just so he can chat with someone on one app and chat with someone else on the other app if both apps are literally the same? (whatsapp and viber comparison for example)
    4. especially this is what i am mostly confused about. the variable reward. what kind of variable reward do 200 chatting apps that do the same thing – emit in common that make people still want to use them?

    • Thanks for the compliment!
      Interesting question, I actually only use Whatsapp right now.
      I don’t know the differences between these apps, but I guess the reason people use multiple ones is that their friends use different messengers. So it’s basically not that you WANT to use different ones but you have no choice, because you don’t want to lose contact to that 1 or 2 friends that only use app x.

  3. Hello Florian, I loved your MVVM and retrofit series tutorials on Youtube. They are explained in the simplest manner, and to the point. Similar to other people, I have been introduced to this blog post and I found it pretty interesting. Thanks for all this. I’ll be interested in knowing how do you study all these and how do you get them very clear.

    • Thanks for the compliment! I try to talk about the ways I study and approach things in my blog posts. Just have a look around! And ignore my bad grammer 😀

  4. Yabba Dabba Doo! (in flintstones words just in case!)

    Thanks for the article! well worth me getting “hooked” to your blogs!

    You’ve just got me thinking a whole lot more, gonna by the book once I level my credit card’s balance 🙂

    • Thanks for the compliment! Well as long as you don’t have the book the information from the post should suffice! I really enjoyed summarizing it.

Comments are closed.