The Hooked model, applied to release slices
In 2014, Nir Eyal published Hooked: How to Build Habit-Forming Products, a manual for making software people reach for without thinking. In 2019 he published Indistractable, a manual for not reaching for it.
Both books are good. I’d read them in that order.
The first one is the one product teams keep on the shelf, and for a practical reason. It describes, in four steps, the loop that turns a product someone tried into a product someone comes back to. Most teams read it as a design book. This post uses it as a planning tool, because the loop often breaks before design gets a say. It breaks in the first release slice, where the team built the part of the loop that was easiest to build and shipped it.
The Hooked model in four steps
The Hooked model is a loop with four parts: Trigger, Action, Variable Reward, and Investment. Every pass through it makes the next one a little more likely.
The trigger is what prompts the user to act. At first it’s external: a notification, an email, a colleague’s @mention. The goal is for it to become internal, a feeling or a situation the user has learned to answer with your product. Bored, open the feed. Stuck on a task, open the tracker.
The action is the simplest thing the user does in anticipation of a reward: open the app, click the link, scroll. The less effort it takes, the more often it happens.
The variable reward is what they get, and the variability is the point. A predictable reward gets boring. An unpredictable one keeps people checking. Eyal describes three kinds: rewards of the tribe (social), rewards of the hunt (information, resources), and rewards of the self (mastery, completion).
The investment is what the user puts back in: data, content, settings, reputation, effort. Investment makes the product better the more it’s used, and, less obviously, it loads the next trigger, because the comment you posted today is the reason a reply notification shows up tomorrow and starts the loop again.
Where the model comes from
Eyal built on older behavioral research. The variable reward comes from B.F. Skinner’s work on operant conditioning, which found that rewards on an unpredictable schedule produce more persistent behavior than rewards on a fixed one.
The trigger and action come from Stanford’s BJ Fogg, whose behavior model says a behavior happens when motivation, ability, and a prompt arrive at the same moment. If one is missing, nothing happens. The Hooked model’s advice to make the action easy is Fogg’s “ability,” applied to a sign-up form.
Eyal’s own warning label
Eyal included a test in Hooked for whether you should be building a habit at all. He called it the Manipulation Matrix, and it asks two questions. Would you use the product yourself? Does it materially improve the user’s life?
Yes to both makes you a facilitator. Improving lives with a product you wouldn’t use makes you a peddler. Using it yourself when it doesn’t help anyone makes you an entertainer. No to both makes you a dealer.
The rest of this post assumes you’re a facilitator. If you’re not sure, the second book is right there.
Two examples from work software
Slack is the textbook case. The trigger is the notification, and eventually the itch to check whether anything happened. The action is opening the app. The reward varies: a useful answer, a joke, a problem somebody else already solved. The investment is every message and integration, which make the workspace more valuable and guarantee more notifications.
Jira runs the same loop with different materials. The trigger is an assignment or a status change. The action is opening the issue. The reward is progress, a teammate’s answer, or the small pleasure of moving something to Done. The investment is the time spent structuring boards, workflows, and issues, which is also why nobody switches trackers lightly.
Why the first release slice usually breaks the loop
A release slice is a horizontal cut across a user story map: the smallest set of stories, taken from across the user’s steps, that makes a usable release.
Here’s how teams usually cut one. They walk the backbone, pick the stories that are essential for each step, and ship. Those are almost always action stories. Search, view, create, edit. The trigger that brings users back is a “later” card. So is the reward that makes the action worth repeating, and so is the investment that makes the product better next time.
The result is a first release that works on day one and gets opened on day two by nobody, which is also what the retention chart will say.
Slice by the loop
Here’s the process, using a hypothetical recipe-planning app so the example is concrete.
- Walk the backbone. Find a recipe, plan the week, shop, cook, and come back tomorrow. That last one is the Hooked model sneaking onto the map as a user activity, which is exactly where it belongs.
- Tag every card with its loop phase. Give each phase a card color. Most cards will be actions, and that’s fine. The judgment call is being honest about which cards are actually rewards and which are features you’d like to be rewards.
- Check each slice for all four colors. A slice with no trigger color doesn’t bring anyone back. A slice with no investment color doesn’t get better with use.
- Close the loop crudely in slice one. For the recipe app, Release 1 is “cook one dinner tonight,” and it could look like this. A 4pm “what’s for dinner?” reminder is the trigger. Searching recipes by what’s in the fridge is the action. Step-by-step cook mode is the reward. Saving a recipe for later is the investment, and it’s what gives tomorrow’s reminder something to point at.
- Measure the loop, not the feature. The question for slice one is whether people come back tomorrow. That’s retention, and it’s the number the product metrics guide argues you should trust first.
The crude version of each phase is usually cheap. The 4pm reminder can be a scheduled notification with one line of copy. What matters is that the loop closes, so you can learn whether it holds before you invest in making each part good. Release 1’s reward also isn’t very variable yet. A dinner that works is a fine reward, but it’s the same one every night. Release 2 fixes that with recipes that use your leftovers, which are different every time, for reasons nobody wants to examine too closely.
Doing it on a story map in CardBoard
This is the planning CardBoard was built for. On a user story map, the backbone runs across the top, and release slices are horizontal dividers you name, like “Release 1: cook one dinner tonight.” Collapse the slices you’re not working on so the one that matters stays on screen.
Card colors do the tagging. The map below uses orange for triggers, blue for actions, green for rewards, and purple for investment. Orange is the only one not on the toolbar. It’s one click away in the drawer, which is about how far away most teams keep their triggers. (We spent some time on how those colors were chosen.) Once the phases have colors, a slice that’s missing one is visible from across the room.

We learned the investment phase the hard way. From 2022 to 2025, every new story map in CardBoard opened as a finished 36-card example for a made-up photo-sharing app. Nothing on the board was the user’s, so there was nothing to invest in and no reason to come back: 94% of the abandoned example boards were left exactly as they were created. The whole story is in the feature bloat post.
If you want the reasoning behind a first slice in more depth, the user story mapping guide covers it. If you’d rather try it, build the map.