Nerd CircuitDraft Theory

Draft Theory: Goal to Action Planner

Designing for inconsistency in daily goal tracking

Productivity / UtilityBehavioral Interaction Design
A blonde athlete in a sports bra mid-sprint on a red gradient, beside Draft Theory cards for today's tasks and a first-marathon goal

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.

Ink drawing of a bathroom scale with a line sloping down above it

✓ Worked

83 → 73 kg in three months

Logged what I ate every day and watched the trend line.

Ink drawing of running shoes with a dotted path of growing hops ending at a red flag

✓ Worked

My first 5 km, having never run

200 m → 400 → 800 → 1 km → 2 → 2.5 → 5.

Ink drawing of a blank phone tangled in red thread

✕ 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.

r/getdisciplined· 14h

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.”

▲ 412 ▼137 comments
habit app guilt
  • 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.

The cover page of the pain-point journal

Pain Point Journal

24 entries, March 2026

  • #1 The Drift
  • #6 Crowded Life
  • #7 Invisible Trade-off
  • #10 Lost Day
  • #11 Cognitive Tax
  • +19
  • Pain Point Journal, cover: a living record of problems worth solving, started March 2026
  • Pain point 7, the invisible trade-off: time spent on one thing is taken from another
  • Idea 2, proof of motion: evidence that you moved beats affirmations
  • Idea 6, goal onboarding and the living priority stack

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

  1. 01

    Unmonitored direction change

    The same failure at three clock speeds: minutes, weeks, months.

    • #1 The Drift
    • #3 Shiny Object
    • #4 Reactive Switching
  2. 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
  3. 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
  4. 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
  5. 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.

  1. Know Yourself home screen

    Build 1

    Know Yourself

    Killed

  2. HabitFlow daily progress

    Build 2

    HabitFlow

    Killed

  3. Atlas home screen

    Build 3

    Atlas

    Cut down

  4. Draft Theory Today screen

    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

Everything it did, a good AI tool already did — and the people I showed it to were already paying for one. There was a worse problem underneath: when people looked at it, they could not tell what it was doing. The UI was weak, but that was not the real issue. The diagnostic layer was far too heavy, and the utility never surfaced through it. The app had to actually give someone something.

I killed it.

Know Yourself: four surfaces, one hidden framework
  • Know Yourself home: a five-phase journey bar with Shift selected, a paragraph of AI insight, and a list of what the app has noticed

    Home: your phase and the AI's mirror insights

  • Know Yourself Journey tab: two goal cards, each with a phase tag and a quoted reflection

    Journey: goals with a phase each

  • Know Yourself Notebooks tab: four themed notebooks and a list of recent entries

    Notebooks: reflections grouped by what they touch

  • Know Yourself conversation: the AI interprets a voice note about going quiet in meetings

    The AI reflecting a recording back

  • Know Yourself goal creation: a free text field and a list of suggested goals

    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.

HabitFlow: the first version anyone could explain back to me
  • HabitFlow onboarding asks whether you are a complete beginner or already have momentum

    Beginner, or already moving

  • HabitFlow onboarding: choose who you want to be, runner, fit, healthy eater or reader

    Pick one identity, not a habit

  • HabitFlow dashboard with a week strip and a habit card to log metrics

    Daily progress, one tap to log

  • HabitFlow habits tab: a weekly schedule and a slot counter showing the next unlock

    Slots unlock after 14 perfect days

  • HabitFlow insights: average energy and mood as a prime state

    Mood and energy against completion

  • HabitFlow daily reflection form: mood, productivity, energy, focus and three questions

    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.

AppWhat it does wellWhat it cannot do
Notion
Notion
Infinitely capableEvery page is work before it is useful
StreaksHabitica
Streaks, Habitica
Enforce repetitionCannot sequence toward a goal
Structured
Structured
Schedules a dayDoes not help you decide what belongs in it
Todoist
To-do apps
CaptureOnly what you have already decided
Four kinds of app, one empty column: nothing sequences a goal into a startable path.
  • Notion on iOS: a To do list page with a bulleted list above an empty table view with a New page row
    Notion

    A to-do list is a database you build first

  • Streaks on iOS: six habit circles on green, each showing its current streak count
    Streaks

    Six circles, each a chain not to break

  • Structured on iOS: a day's tasks as blocks on a vertical timeline, two of them overlapping
    Structured

    A day laid out on a timeline

  • Todoist on iOS: an inbox of tasks with nested sub-tasks, dates and a red add button
    Todoist

    Capture, with sub-tasks under each task

Screens from Mobbin. Habitica has no capture there; it sits with Streaks above.

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.

— Freelance designer, Build 1 feedback

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.

— r/getdisciplined, secondary research

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: every pattern from the landscape, woven into one app
  • Atlas splash screen: the name in a serif and a tap to begin button

    atlas. Tap to begin

  • Atlas onboarding: pick the problems you are facing, Drift and Overwhelm selected

    Name your problem: drift, loss, overwhelm

  • Atlas onboarding: apart from manual tracking we map sleep, your patterns and your days

    Sleep, patterns and days as signals

  • Atlas home: Good morning Lavnik, a week strip, today's progress at zero per cent and a morning run with distance and time sliders

    Today: a week strip and a progress ring

  • Atlas goals: a create new goal button promising AI-guided setup in nine steps, and two goal cards with progress bars

    Goals with an AI-guided setup in nine steps

  • Atlas insights: a consistency streak of five days, a goal progress chart and a psychological assessments notice

    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.

OnceOnboarding, 3 screensWelcome · Block your week · What usually goes wrong
Per goalGoal setup, 8 screensDescribe → Anything else → Make it concrete → Where you start → Stages → How often → Place sessions → Your plan

then three tabs, nothing more than two levels deep

Tab · defaultToday
  • TA-1Action detail
    • I'm stuck
    • Smaller version
    • Adjust the plan
  • statesReturning, nothing due
TabProgress
  • PROG-1Weekly review
  • PROG-2Check-in
    • Then vs now
TabYour goal
  • 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

OptionApproachVerdict
Educate the userComprehensive 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 simplificationStrip 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 positioningKeep 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 unlockingHide 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.

WHAT THE APP SHOWS12345670123456WHAT THE DATA SAYSAUTOMATICITY, LALLY 2010

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.

EFFECT ON INNER WORK LIFE+1 PROGRESS−2 TO −3 SETBACKAMABILE & KRAMER, 2011

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.

PEOPLE WHO INTENDED TO ACT52% ACTED48% DID NOTSame plans. Same intent. Stopped at the start.META-ANALYSIS, 25 SAMPLES, N≈29,600, 2023

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.

The pre-split build: everything AI could add to a goal
  • Make it easier sheet: the AI proposes three more tasks for the plan, with use this and try again

    More for the plan

    cut

  • Make this measurable sheet: the AI rewrites the goal as three case studies published on a live site

    Make this measurable

    cut

  • Is this realistic sheet: 14 sittings at 14 a week, a suggestion to split a task, and a note on the real pace

    Is this realistic?

    cut

  • Checkpoints sheet grouping the plan into case study one, the site and case study two

    Group into checkpoints

    cut

  • Ask the mark sheet on a sitting with prompts like where do I start and I'm stuck

    Ask the mark

    cut

  • You tab with a Premium plan card: every AI feature is open

    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

It was Know Yourself again, arrived at immediately after diagnosing it. I understood something about product managers then that I had not before: wanting this feature and that feature is genuinely, continuously tempting, and every one is individually defensible. Scope does not grow because someone makes a bad call. It grows because good calls accumulate.

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.

DirectionBorrowed fromWhat it left behind
Handmade, wonkyOff-white paper, hand-drawn borders, a sketched mascotRead as a toy. Kept the idea that a handmade surface says this was not built to manipulate you.
Editorial navyChelsea, Burberry: type as the whole design, one blueComposed but corporate. Kept serif for the task only, mono caps for labels, and the mascot became a mark with no face.
Acid yellow highlighterThe Bear, highlighted typeYellow dates fast and fails contrast. Kept the central mechanic: completion is a mark, not a reward.
Scarlet editorialScarlet, black and bone, red marker over clean pagesChosen. The raw energy lives in the marks; the page underneath stays composed.
Physical collageDotted paper, polaroids, tape, stampsA poster medium, not a UI. Kept for onboarding, the weekly card and the App Store shots.
Five directions. The handmade instinct survived as marks on a composed page; the mascot survived as a mark with no face.

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
Underline · nowStrike · done18:00 · 45 min
One red pen, two gestures: an underline means this one, now; a strike-through means finished. It is the only celebration in the product, identical on day one and day forty. Serif for the task and only the task; mono caps for every label and number.
Draft Theory app icon: a hand-drawn asterisk on scarlet

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.

Opening it: the intro and the three questions
  • Draft Theory intro: the name on scarlet with the brushed mark

    Black, then the mark

  • Draft Theory intro page two: every sitting you do is kept, nothing you skip is written down

    What stops people is not seeing progress

  • Onboarding: a week grid with sleep and work blocked, about 67 hours a week free

    What can't move

  • Onboarding: when you have tried to stick to something before, what usually happened, with six checkboxes

    What usually went wrong before

  • Onboarding: your first goal, a title field, add a task, add a checkpoint

    Your first goal: a title and a plan

Today: the daily loop
  • Today: November calendar, a quote, today's tasks with the 18:00 sitting circled in red pen and Smaller, Reschedule, Done

    Today's sittings, in order

  • Break it down sheet: how many pieces, two, three or four, for the 18:00 sitting

    Smaller: break a sitting into pieces

  • Move this sitting sheet with by a day, by a week, by a month options

    Reschedule by a day, a week, a month

  • Today after an absence: been a while, want to make things easier? and the usual list

    Back after six days: one offer, no scolding

Goals: the sequence, and the AI kept outside
  • Goals list: three goals with finishing dates and a row of dots for sittings

    Ongoing, on hold, finished

  • Edit goal: the plan as checkpoints and tasks, finished tasks struck through in red

    A goal is its plan; done is a strike

  • Schedule sheet: start time, length of a sitting, repeat days, seven sittings about two weeks

    When, how long, which days

  • Add a goal sheet: write it here or upload a CSV planned with an AI

    Write it here, or upload a CSV

  • Upload a CSV: copy the prompt, get the template, choose the file

    Plan it with any AI, import the file

Everything cut, written down in order

DeferredWhy not now
Goal types: progressive vs consistencyThe strongest idea on the list, and most apps collapse it. It needs v1 sequencing to sit on.
Identity framing, obstacle planningReal, but it is ten questions before value. Earn the questions first.
AI-assisted planningCannot specify what AI should do until the manual version exists.
Priority stack, baseline, cost–benefit viewThe 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.

  1. 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.
  2. 02

    Scope grows through good decisions, not bad ones

    Every feature I added to goal creation was defensible. The sum was a wall.
  3. 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.