Draft Theory: Goal to Action Planner
Designing for inconsistency in daily goal tracking
Summary
I designed and built Draft Theory, a local-first iOS planner that solves the psychological friction of inconsistent daily goal tracking. By replacing dated appointment calendars with a continuous task queue, it removes loss-aversion penalties like broken streaks, so progress only ever moves forward — and keeps each daily interaction under five seconds.
Product
- iOS
Team
- Solo builder — design and iOS code
Impact
- Submitted to the App Store in 3 months, first build to submission
- Goal setup cut from 10 questions to 0
- 2 earlier builds killed on user feedback before the problem was defined
- 0 AI features in v1, on purpose
Context
The realisation about goals that led me to start this project
I have always tried to run my life on systems. Two of them worked. The third, shipping an app, failed badly.
✓ Worked
83 → 73 kg in three months
Logged what I ate every day and watched the trend line.
✓ Worked
My first 5 km, having never run
200 m → 400 → 800 → 1 km → 2 → 2.5 → 5.
✕ Failed
Design and ship an app
Failed badly, while also going to the gym, running, learning and working.
Why the first two worked
- There was a progression.
- I could see where I was on it.
- Enough flex that a bad day did not end the plan.
Why the third did not
- I did not know which metrics to track, because I did not know what the work involved.
- Too many things at once, none of them sequenced.
- No way to see what any one goal was costing the others.
Notion held the first two, and it is remarkable for it. It has one cost: every page has to be built before it is useful.
What I wanted to build
That failure is where the app came from. Something that could weigh goals against each other — a real cost–benefit view of what to pursue and what to leave alone. Something that scoped a goal to the life I actually had and said honestly whether the target was reachable or needed more time. Something that scheduled the work and joined it up, so I could see what today was contributing to. And because everyone runs their life differently, I wanted it neutral: highly customisable, a structure anyone could bend to anything.
The goal
Build a goal-to-action planner that is easy to set up for different use cases.
Turn a goal into an ordered sequence you can start.
What we'll track
Under 5 s
Once launchedDaily interaction time
The target is mine. Research: a microinteraction takes under 4 seconds.
—
Once launchedGoal creation speed
Time from opening the app to a goal with a first step. No published benchmark, so the target is mine to set.
—
Once launchedConsistency of tracking
Research: a habit takes a median of 66 days to form, so track across at least that long. Missing a day barely matters.
None of these has a measured value yet: the builds were not instrumented, so they are measured once the app launches.
Sources: Ashbrook, Enabling Mobile Microinteractions, 2010 · Lally et al., How are habits formed, 2009
Before building
The pain-point journal
I had been keeping a journal of frictions — in my own life and in the lives of people around me. Across 15-plus conversations it gave me an overarching view of what actually makes people deviate from what they said they wanted. Secondary research on Reddit and X surfaced the same problems in other people's words, and I looked at the goals people commonly set, to see what structure could be built around them.
Atomic Habits and the books near it all said the same thing, and it matched what I had lived: the system is what people can actually follow. I had material. I prototyped quickly with AI tools, and built.
Build 1
Know Yourself
A reflection and journaling app for iOS. You voice-record moments through the day, AI generates interpretations and emotional insight, and the app surfaces emotional patterns over time.
Underneath ran a Goals–Plans–Systems framework, hidden from the user. What you saw was a five-phase journey: See, Understand, Shift, Build, Own. Home held AI mirror insights and your current phase; Notebooks held per-goal overviews; Journey held emotional patterns. A floating gold record button sat over everything as the primary action. Warm, premium, calm, dark — intentionally a growth companion rather than a productivity tool.
The feedback was unanimous
I killed it.
Build 2
HabitFlow
Terrible name. Better instinct.
I took it back to the same people with more utility and less ceremony. They were happier with it. The design started to clarify, and watching them use it I finally saw what I had been building the whole time without naming it: a task-breakdown application. Not a mirror, not a journal. Something that takes a goal too big to start and makes it small enough to begin.
That was the first time the product had a shape I could describe in a sentence.
Landscape
Then I did the research I should have done first
With two builds behind me I could look at Structured, Habitica, Streaks and Notion as material rather than as evidence I was late. That difference matters more than it sounds. Before, the landscape was demoralising. Now it was comparison.
| App | What it does well | What it cannot do |
|---|---|---|
| Notion | Infinitely capable | Every page is work before it is useful |
| Streaks, Habitica | Enforce repetition | Cannot sequence toward a goal |
| Structured | Schedules a day | Does not help you decide what belongs in it |
| To-do apps | Capture | Only what you have already decided |
The user
Not everyone. That was the mistake I kept making.
Across the 15 conversations and the threads I pulled from Reddit and X, one person kept showing up. They already have a goal, sometimes two. They have written it down — in Notes, or on a sticky note above the desk. They know what they want. What they cannot do is look at "run a marathon" and see Tuesday.
They have tried Notion and spent two weekends building a dashboard before starting the actual thing. They have downloaded a habit tracker, used it for nine days, and felt worse when the streak broke than they did before they had the app. They do not need motivation. They do not need a system that asks them to define their identity before they can log a rep. They need the gap between "I want this" and "here is the first small thing" closed, without ceremony.
I don't need another app that asks me to plan. I need one that just tells me what to do next.
I've started and stopped the same goal four times. It's not discipline. I genuinely don't know what step comes after step one.
That is the user. Not a productivity enthusiast. Not someone who wants to build a second brain. Someone with a goal, a life that already has four things in it, and no bridge between the two.
Build 3
Atlas, and the clarity problem
After looking at the landscape I built Atlas: take the strongest patterns from the existing tools and weave them into one experience aligned with the original thesis. Instead, it inherited exactly the issue I was trying to avoid.
When people opened Atlas, the feedback mirrored HabitFlow's: "What is this actually for?" A smart to-do list? A goal tracker? A calendar overlay? Because it tried to cover every step of task management, it had no dominant identity — and by giving people total flexibility, I forced them to invent their own workflow before they could get any value from the first session. Atlas is the build that became Draft Theory. It was not killed; it was cut.
Four ways to fix it
| Option | Approach | Verdict |
|---|---|---|
| Educate the user | Comprehensive onboarding, tours and content to teach a new mental model for goal sequencing. | High effort, low yield. Changing behaviour takes capital and a long retention runway an independent builder does not have. |
| Anchored simplification | Strip the product to a single core loop that mimics a familiar everyday act — one priority on a sticky note, a quick text. Introduce secondary capabilities only once the habit exists. | Chosen. Reducing surface area removes cognitive load and gives an immediate “aha” within seconds of launch. |
| Framing and positioning | Keep the features, narrow the pitch to one tight niche — “the 30-day goal builder for freelancers”. | Useful for marketing. Does nothing about the friction inside the product. |
| Progressive unlocking | Hide scheduling, calendar sync and deep breakdowns behind completion milestones so day one feels light. | A strong secondary tactic in support of simplification. |
Pain points are not a problem statement
Cutting features was not a UI clean-up. It forced me to stop confusing pain points with a problem statement. Collecting pain points gives you a long feature wishlist; a problem statement defines the boundary of the solution. Atlas failed because it tried to cure every symptom. To build something people use, I had to narrow to one thesis: sequencing a goal into a startable path.
Why
Most tools capture what you already decided, or enforce maintenance. People fail to start not for lack of motivation but because the gap between an ambition and a first daily action is too wide.
What
A stripped-down goal sequencer that turns a vague ambition into a linear path of immediate, startable actions — a minimal daily planner, not a database.
How
Cut AI, calendar sync and deep customisation from the first release. Two actions only: create a goal, adjust the next step. No setup.
Secondary research
What the literature says the industry gets wrong
Alongside the conversations I kept notes from behavioural-science research and the podcasts I already listen to. Read together, they suggest that standard productivity mechanics actively undermine long-term adherence.
Streaks and loss aversion
Balanced dashboards are net negative
The intention–behaviour gap
Scope creep
Then I expanded goal creation
Having narrowed the product, I immediately started growing the part that was left.
Every step made sense at the time. Atomic Habits argues identity comes before target, so setup should ask who you are trying to become. Obstacles should be named up front rather than discovered halfway, so: what will get in the way, and what will you do about it? Goals are not one shape, either — reading ten minutes a day to finish fifteen books is a consistency goal, while a marathon has to get progressively harder — so the app should ask which kind this is and structure the path to match. My own two successes had been one of each, so this felt important.
Then I kept going. Cap how many goals you can hold, unlocking slots only by finishing one, so restraint becomes an achievement. A mood tracker, so a skipped day still produces signal. I got the setup questionnaire down to ten questions and thought I had been disciplined.
The same failure at one tenth the scale
The reframe
Build the container, then pour
Cutting the questionnaire left me with no goal-creation flow at all. Rebuilding it, I asked a different question. Not what do I need to know about this goal, but what does a finished goal actually look like?
It looks like a calendar. A sequence of sessions, in order, across time. So let the user build that directly — no interrogation, no questionnaire producing a plan they have never seen. You make the thing itself, and my job is to make the making easy.
That is also where AI found its right place, which is late. Across all three builds I had treated AI as the answer to every hard problem. Know Yourself was AI-generated insight end to end, and after it every gap got filled with "AI will handle that." It is a seductive way to design, because AI can do anything you can describe, so you stop having to specify. Unspecified is exactly what both failed builds were.
AI is liquid. It flows wherever you point it and slips through your hands while you are holding it. Build the container first, in plain terms, as though AI did not exist. Then pour.
v1
One thing, manually
Information architecture first, before a single screen.
You write a goal. You sequence it. When a step is too big to start, you break it down — which is also what makes it easy to pick up again the next day. Everything is manual, on purpose.
Everything cut, written down in order
| Deferred | Why not now |
|---|---|
| Goal types: progressive vs consistency | The strongest idea on the list, and most apps collapse it. It needs v1 sequencing to sit on. |
| Identity framing, obstacle planning | Real, but it is ten questions before value. Earn the questions first. |
| AI-assisted planning | Cannot specify what AI should do until the manual version exists. |
| Priority stack, baseline, cost–benefit view | The original ambition. It needs users before it needs building. |
It does one thing. That is the finding, not the compromise.
Reflection
What actually changed
What I would do differently with a team
Solo was a constraint, not a preference. Two things would have changed with even one other person. I would have instrumented HabitFlow instead of rebuilding from conversation — I showed each build to the same advisory group rather than running a real test, so I got opinions where I needed behaviour. And I would have written the problem statement before the first build, not after the second. The pain-point journal was good research. It just was not a brief, and nobody was there to tell me the difference.
- 01
Pain points are not a problem statement
I had a year of good research and still built the wrong thing twice, because I never converted findings into one sentence a user could act on. - 02
Scope grows through good decisions, not bad ones
Every feature I added to goal creation was defensible. The sum was a wall. - 03
Design the container before the liquid
Treating AI as the answer let me stop specifying, and unspecified is what both failures had in common.
Next: goal types · AI-assisted sequencing · the priority stack.