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.
That failure is where the app came from: something that weighs goals against the life you actually have, sequences the work, and shows what today is contributing to.
The goal
Build a goal-to-action planner that is easy to set up for different use cases.
Tracked once it launches: daily interaction under five seconds, time to a goal with a first step, and consistency across the 66 days a habit takes to form.
Before building
The pain-point journal
I had been keeping a journal of frictions: mine, and those of the people around me. Fifteen conversations, then Reddit and X for the same problems in other people's words. Atomic Habits and the books near it agreed: the system is what people can actually follow. I had material, so I built.
Fourth time starting the same goal. What am I missing?
“It's not discipline. I genuinely don't know what step comes after step one.”
- Deleted it the day the streak broke.
- Two weekends building the Notion dashboard. Never started the thing.
- Goal written down. No idea what Tuesday looks like.
What the threads kept saying, paraphrased
15 conversations
in person
People around me, asked where their own goals had stalled. The same shapes every time: a goal they could name, a first step they could not.

Pain Point Journal
24 entries, March 2026
- #1 The Drift
- #6 Crowded Life
- #7 Invisible Trade-off
- #10 Lost Day
- #11 Cognitive Tax
- +19
The journal: 21 pages, 11 pain points, 7 product ideas, 6 entries on the layer underneath, 2 design principles. March 2026.
Eleven pain points are five mechanisms
Reading the entries against the research collapsed them. Drift and doomscrolling turned out to be the same bug at different clock speeds, and a baseline and proof of motion are one feature read from both ends of a timeline.
24 journal entries, read as five mechanisms
- 01
Unmonitored direction change
The same failure at three clock speeds: minutes, weeks, months.
- #1 The Drift
- #3 Shiny Object
- #4 Reactive Switching
- 02
Unnamed trade-offs under finite capacity
Goals compete for one pool of hours and the competition is never made explicit.
- #6 Crowded Life
- #7 Invisible Trade-off
- Idea 6 Priority Stack
- 03
Execution friction
The gap is not knowing what to do. It is the cost of starting.
- #10 Lost Day
- #11 Cognitive Tax
- Idea 4 Minimal Viable Action
- 04
Missing measurement
You cannot see where you started, whether you moved, or when you arrived.
- #9 Baseline
- #5 Skills
- Idea 2 Proof of Motion
- Idea 7 Diagnostics
- 05
Capacity floor
Whether the person is well enough to navigate at all. A gate, not a feature.
- Deeper layer 1 to 6
Four builds
A year, four codebases, one product
Two were killed on feedback, one was cut down into the product that shipped. Each is below, with its screens.


Build 1
Know Yourself
Killed


Build 2
HabitFlow
Killed


Build 3
Atlas
Cut down


Shipped
Draft Theory v1
Submitted
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.


Home: your phase and the AI's mirror insights


Journey: goals with a phase each


Notebooks: reflections grouped by what they touch


The AI reflecting a recording back


Starting something new
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.


Beginner, or already moving


Pick one identity, not a habit


Daily progress, one tap to log


Slots unlock after 14 perfect days


Mood and energy against completion


The daily reflection the AI read
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 |
|---|---|---|
| Infinitely capable | Every page is work before it is useful | |
| Enforce repetition | Cannot sequence toward a goal | |
| Schedules a day | Does not help you decide what belongs in it | |
| Capture | Only what you have already decided |



A to-do list is a database you build first



Six circles, each a chain not to break



A day laid out on a timeline



Capture, with sub-tasks under each task
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.


atlas. Tap to begin


Name your problem: drift, loss, overwhelm


Sleep, patterns and days as signals


Today: a week strip and a progress ring


Goals with an AI-guided setup in nine steps


Streaks, charts and assessments
What it was meant to be
The plan for Atlas was disciplined on paper: three tabs, nothing more than two levels deep, every flow ending somewhere real. The discipline was in the structure. The surface still asked people to name their problems, map their signals and sit through a nine-step setup before the first session gave anything back.
then three tabs, nothing more than two levels deep
- TA-1Action detail
- I'm stuck
- Smaller version
- Adjust the plan
- statesReturning, nothing due
- PROG-1Weekly review
- PROG-2Check-in
- Then vs now
- GOAL-1Schedule
- GOAL-2Parked goals
- Swap active goal
- GOAL-3Close this goal
- SETSettings
From the Atlas screen map: 29 screens across 8 flows, with the return-after-absence and nothing-due moments kept as states of Today rather than screens of their own.
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
Most apps punish a single missed day by breaking a streak. But empirical work on habit formation (Lally et al.) shows that missing one opportunity does not materially affect long-term automaticity. Streaks turn a harmless lapse into a reason to quit.
Balanced dashboards are net negative
Amabile and Kramer found that small setbacks hit inner work life two to three times harder than progress helps it. Surfacing missed tasks as prominently as completed ones triggers avoidance.
The intention–behaviour gap
A 2023 meta-analysis put it at nearly 48% of people who genuinely intend to act and still do not. They are not short of detailed plans or AI schedule generators. They are stopped by the cost of starting.
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.


More for the plan
cut


Make this measurable
cut


Is this realistic?
cut


Group into checkpoints
cut


Ask the mark
cut


Premium plan
cut
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.
Visual language
It can never look pleased or disappointed
The product removes streaks, scores and celebration. The moment anything in the interface can look pleased with you, it can look disappointed: same mechanism, sign flipped. Every direction was tested against that rule, and against two more. It had to hold raw and composed at once, and it had to survive task names written by users.
| Direction | Borrowed from | What it left behind |
|---|---|---|
| Handmade, wonky | Off-white paper, hand-drawn borders, a sketched mascot | Read as a toy. Kept the idea that a handmade surface says this was not built to manipulate you. |
| Editorial navy | Chelsea, Burberry: type as the whole design, one blue | Composed but corporate. Kept serif for the task only, mono caps for labels, and the mascot became a mark with no face. |
| Acid yellow highlighter | The Bear, highlighted type | Yellow dates fast and fails contrast. Kept the central mechanic: completion is a mark, not a reward. |
| Scarlet editorial | Scarlet, black and bone, red marker over clean pages | Chosen. The raw energy lives in the marks; the page underneath stays composed. |
| Physical collage | Dotted paper, polaroids, tape, stamps | A poster medium, not a UI. Kept for onboarding, the weekly card and the App Store shots. |
The resolved language
Bone paper, near-black ink, one scarlet. Red is the brand, so red can never mean error, late or behind again. That is survivable only because the product has no failure states by design.
Bone
#F4F2ED
Paper
Ink
#121212
All text
Scarlet
#E8321C
Marks, DONE, NOW
Today's tasks · 1 of 3 done
- Outline case study #1
- Draft the research section
- Pick screenshots
The mark
A crest, not a mascot. It has no face, so it can never look disappointed in you.
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.


Black, then the mark


What stops people is not seeing progress


What can't move


What usually went wrong before


Your first goal: a title and a plan


Today's sittings, in order


Smaller: break a sitting into pieces


Reschedule by a day, a week, a month


Back after six days: one offer, no scolding


Ongoing, on hold, finished


A goal is its plan; done is a strike


When, how long, which days


Write it here, or upload a CSV


Plan it with any AI, import the file
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.


