Most habit apps are built around the streak. Craving is built around the ninety seconds before you reach for a snack. That’s when a craving peaks, and it’s when an app usually has nothing useful to say. Craving gives that moment one big button: tap it, breathe, name what’s going on, and try something else. If you cave in, you log it and plan the next moment. Nobody tells you that you failed.
What it does
One big button
The home screen leads with “I’m having a craving”. The moment it matters is the moment the app is easiest to use.
Breathe, reflect, swap
A short breathing pacer, then naming the trigger and the craving, then three alternatives. The app never lectures.
Slips are data
“I caved in” is a first-class action. A slip gets logged and planned around, not punished.
Patterns, gently framed
Insights show resist rate, time of day and triggers, and turn them into one concrete suggestion, such as an evening cue.
The design
I designed Craving as a full system before building the prototype. It has a warm “Cream & Clay” light theme and a “Cocoa & Ember” dark theme, an editorial serif paired with a clean sans, and three voice rules: gentle, not preachy; specific, not abstract; honest about slips. I explored two directions for the Today screen, a warm pulse and an editorial calm. I went with the warmer one because it suits a product that’s meant to feel rewarding. The calmer one is kept for a possible focus mode.
Why it’s interesting
The hard part is the tone, not the tracking. Every screen has to make it easier to pause without making a slip feel like a verdict. So the flow is the product: breathe first, reflect, then offer alternatives. The data is there to find patterns, like “most cravings hit between 6 and 9 PM”, and to turn each one into a single small plan.
Labs noteA concept with a working prototype, not a launched app. It’s an experiment in how gentle a habit app can be and still change what you do next.