Builder
A pull redirection app. When the pull hits, you open Keel, pause, and redirect for 20 minutes. The pull passes. Over time the wiring weakens. Keel shows you the proof.
Every wellness app pushed me toward more numbers: calories, macros, steps, HRV. The more I tracked, the further I felt from understanding myself.
I wanted to understand how I feel, and solve something at its root, rather than at the surface level.
“I logged everything for a week and still couldn't tell you why I felt flat on Tuesday.”
— Beta user, v1
V1 had food tracking, calorie logging, mood tracking, gut score, and a wellness dashboard. Users were logging but not connecting.
V2: removed everything except gut score and mood log. The job is not to track what you eat. The job is to help you notice how food makes you feel.
Gut Score
A single daily score reflecting the connection between what you ate and how you feel. Not a metric to optimise. A mirror to observe.
Mood log
A simple mood scale logged once a day. No notes, no journaling, no friction. Just a number that builds into a pattern over time.
Meal log
Free text input. Gemini categorises the meal into gut-health relevant food groups. No calorie counting, no macro tracking.
Your Connection
Weekly insights showing patterns between food and mood. Helps you notice what you would never see logging day by day.
Building something generic is easy. Trying to play safe or satisfy all audiences does not work. In v2 I realised it is important to narrow down to the simplest problem possible and build something that actually solves it.
Six months after v2 shipped, I asked beta users what problem in their daily life still felt unsolved. Almost none of them said gut health. They talked about the pull: the 11pm phone reach, the scroll that wasn't supposed to happen, the snack when they weren't hungry. V3 is built around that one moment.
The pattern was not gut health. It was craving, a specific, embodied pull toward something the rational brain knows it doesn't want. The question changed: what do you do in the moment before you give in?
V3 is not a tracker. It is a redirect. The app is built around a single moment: when the pull hits, you open Keel, pause, and redirect for 20 minutes. The craving passes. Over time the wiring weakens. Keel shows you the proof.
The Moment: feel a pull, hold, and that hold is the pause.
The Redirect: a 20-minute activity you chose in advance, not prescribed live.
The Pattern: after enough redirects, what's actually working becomes visible.
The Moment
That hold is noticing and stopping combined into one motion, before you've even chosen what to do about it.
The Redirect
Chosen by you in advance, in a calmer moment, and saved. The app stays quiet while you do it. No tracking mid-activity. No instructions. Just time.
The Pattern
Not just which pulls you have most. Which redirect helps, and how often. Which feeling tends to show up right before a pull. For anyone tracking their cycle, which phase asks the most of them. Not to judge. To notice.
The first version of the pull flow had five steps before any relief. I rebuilt it around three principles from behavioural design: Hick's Law, Tesler's Law and Fitts's Law. I cut the flow to two steps.
Hick's Law: more choices mean slower decisions. This is the worst possible moment to slow someone down.
Tesler's Law: complexity doesn't disappear, it just has to live somewhere. So it moved to onboarding and setup, where she's calm, instead of the live moment.
Fitts's Law: small, precise targets are hard to hit under stress. Intensity became a wide, forgiving gesture instead of ten small dots.
The redesigned flow: hold, then redirect, immediately. Intensity and emotion still matter, so they moved to an optional check-in during the 20-minute wait, not before it.
The honest trade-off: that data is no longer guaranteed on every pull. Some entries have it, some don't. The pattern screen had to be rebuilt to handle that gracefully instead of assuming complete data every time.
Gone: gut score, mood log, meal log, food categories, weekly insights. Stayed: the core belief that behaviour change needs proof, not pressure.
The PRD came before any code. For visual direction I worked through five directions in Claude Design before landing on the current one. React Native because this lives on a phone, in a moment. Not a browser tab you navigate to.
I used Claude to co-author the PRD: problem framing, hypothesis, user flow, edge cases. Writing the spec revealed gaps that would have cost weeks in code.
For design direction I kept coming back to Tiimo, a calendar app for people with ADHD. Its calm, character-forward approach felt right for a pull app. A moment of pull is already stressful. The interface cannot add to that.
The mechanism itself, what a pull actually is and why redirecting works, became a short animation, shown once in onboarding and replayable any time from the profile.
Character animations use Lottie. Haptics on the timer. No server. No account. AsyncStorage only.
Three versions, three lessons. A fourth came from rebuilding the pull flow: the right amount of friction is almost always less than you think.
V1: feature count is not product quality. Five things shipped, none felt essential. V2: the right problem is not always the loudest one. Gut health was the symptom. Craving was the root. V3: removing the server was a design decision. No login, no sync, no data leaving the device. It changed how the app felt to use.
Every step in the old pull flow felt necessary until I watched someone actually try to use it mid-pull.
Keel starts with pulls because that is the most universal entry point. Everyone has one they want to break.
But the mechanism is bigger. The same neural rewiring that works on a pull works on a thought spiral loop. On overthinking at 2am. On worst case scenarios. On any unhealthy pattern that has formed without your permission.
The long-term vision for Keel is a behaviour change companion. One app that helps you interrupt the loops that are running your life, one redirect at a time.