← Back to Projects

DO — Behavioral Todo

Don't organize tasks. Finish them.

React NativeExpoBehavioral ScienceSupabaseTypeScript
Live
DO — Behavioral Todo

Problem

Every todo app optimizes for organizing tasks — lists, tags, priorities, filters. But organization isn't why you're not getting things done. In an MBA, you have 15-minute windows between classes and 47 tasks. The real blocker is decision fatigue: 5-10 minutes lost choosing what to do before you even start.

Solution

DO flips the model. Instead of showing a list, it asks 'How's your energy?' then shows one task — matched to your capacity, with a reason why. Energy-aware recommendations, a Focus card (not a list), a timer with time-perception training, momentum that never resets to zero, and compassionate copy throughout. Built on BJ Fogg's B=MAP model and Karl Ulrich's Jobs to Be Done framework.

Impact

Live at do-app-six.vercel.app. 6 behavioral interventions shipped. Energy matching replaces calendar analysis at 0% infrastructure cost. Rolling momentum meter eliminates streak-breaking guilt. Shame-free language throughout.

Tech Stack

React NativeExpoTypeScriptSupabaseBJ Fogg B=MAP

Energy-Aware Recommendations

The first thing the app asks isn't 'what do you want to do?' It's 'How's your energy right now?' Three options: Low, Steady, or Wired. This directly addresses Fogg's Ability axis — the most reliable lever for behavior change. Behind that question is a recommendation engine that filters and scores tasks by energy match. Low energy? Easy tasks under 15 minutes. Wired? Hard tasks score higher.

One Task at a Time (Focus Card)

The Focus screen shows exactly one task — a card with the title, time estimate, difficulty badge, which goal it belongs to, and why it's being recommended. Two buttons: 'Do it' (starts a timer) or 'Not this' (soft skip with only a -1 score penalty). This is Hick's Law in action: reducing choices from 47 to 2 makes starting nearly effortless. The list exists behind a tab for management, but it's not the default surface.

Timer + Time Perception Training

When you tap 'Do it,' a timer starts. When you finish, the app compares your estimate to actual time. Grounded in Russell Barkley's research on ADHD time blindness — the consistent inability to accurately estimate how long tasks take. Over time, the feedback loop calibrates your internal clock. The timer has no red 'overdue' state — just a warm color shift and a positive message.

Momentum That Never Resets

Instead of streaks (miss one day → reset to zero → 'what-the-hell effect'), DO uses a 7-day rolling momentum meter. Levels: 'Getting started' (1-2), 'Building nicely' (3-5), 'On a roll' (6-9), 'Unstoppable' (10+). The meter never shows zero — if you haven't completed anything recently, it shows 'Ready to start.'

Compassion Over Punishment

Every piece of copy follows one rule: no shame language. Old tasks aren't 'overdue' — they've been 'waiting patiently.' Skipping isn't failure. Empty states say 'A clean slate' not 'You have no tasks.' Task completion triggers contextual celebration messages with haptic feedback — BJ Fogg's celebration research applied literally.

Self-Teaching Onboarding

New users get a pre-seeded goal called 'Learn how DO works' with 5 progressive tasks. Each teaches one feature by asking you to use it. No tutorial screens. No tooltip overlays. The app's thesis — learning by doing beats learning by reading — applied to onboarding itself.

Key Technical Decisions

  • Hiding the list IS the feature. The hardest design bet and the most important. One task, matched to your energy, with a reason attached — that's the product.
  • Energy matching over calendar analysis. A three-button energy check achieves 80% of the outcome with 0% infrastructure complexity.
  • Momentum beats streaks. A rolling window that never shows zero removes the single biggest de-motivator in productivity apps.
  • Ship the behavioral insight, not the feature list. 6 behavioral interventions and no AI, no push notifications, no calendar integration. The right scope.