Why Your Todo App Doesn't Work (And What Behavioral Science Says About It)
15-minute windows between classes, BJ Fogg's behavior model, and the app I built when no todo app solved the actual problem.

In an MBA, tasks don't arrive in neat queues. They pile up from five directions at once: group project deliverables, recruiting prep, club commitments, class readings, and whatever personal project you're trying to keep alive. Your day is a patchwork of 15-30 minute windows between commitments -- a gap after morning class, an hour before a club meeting, twenty minutes before your next call.
Every one of those windows is an opportunity. And every one gets wasted the same way: you open your todo app, see 47 tasks, and spend the next 5-10 minutes doing triage in your head -- instinctively ranking importance, evaluating your energy, debating whether you can finish something meaningful in 20 minutes. By the time you pick a task, the window is half gone. You didn't fail to organize. You failed to start.
The more I talked to peers -- high-performing, hyper-functional people who run clubs, lead case competitions, and recruit for top firms simultaneously -- the more I noticed the same pattern. Everyone had built their own system. Sticky notes on the laptop. A running iMessage thread to themselves. A specific notebook with a specific notation. The common thread: no generic todo app worked for any of them.
The Museum of Abandoned Intentions
Open your todo app right now. Scroll past the first few items. How many tasks have been sitting there for weeks? Months? That ambitious project you were going to start. The email you were going to send. The habit you were going to build.
Your todo app has become a museum of abandoned intentions -- a guilt-inducing archive of everything you're not accomplishing. And the app's solution? Better organization. More features. Subtasks. Tags. Filters.
This is like trying to cure a headache by buying a nicer medicine cabinet.
The question isn't 'how do I organize my tasks better?' It's 'why am I not getting things done?'
The Wrong Job to Be Done
In my product management class, Professor Karl Ulrich drilled a concept that stuck: before you build anything, nail the Job to Be Done. Not what the product does -- what the customer hires it to do. The question isn't 'what features should a todo app have?' The question is 'why does someone open a todo app in the first place?'
Is a todo app hired to organize tasks? To sort, tag, filter, and categorize? Or is it hired to help you get things done when you have too many things to do and not enough uninterrupted time to do them?
The reframe changed everything. If the job is 'get things done,' then the biggest blocker isn't a lack of organization -- it's the decision load of choosing what to do next. Every minute spent picking a task is a minute not doing one. That's the problem I set out to solve. And when I started researching what behavioral science had to say about decision fatigue, task initiation, and motivation, I found BJ Fogg's work.
B = MAP: The Formula Behind Every Completed Task
Stanford researcher BJ Fogg spent decades studying behavior change. His model is disarmingly simple: Behavior = Motivation x Ability x Prompt. All three must converge at the same moment for a behavior to occur. Remove any one element and nothing happens.
- Motivation -- The desire to do something. This is what todo apps assume you have plenty of. You don't.
- Ability -- The capacity to do it right now. Is the task clear? Do you have the tools? The time? The energy?
- Prompt -- A trigger to act in this specific moment. Not a notification you swipe away. A genuine cue that creates action.
Where Every Todo App Gets It Wrong
Map any popular todo app against the B=MAP model and the gaps become obvious:
Motivation: Most apps offer zero motivational support. No progress visualization tied to meaningful goals. No celebration of small wins. No connection between today's task and why it matters. They show you what to do but never why you should care right now.
Ability: Apps let you create tasks of any size and complexity without questioning whether you can actually do them. A task like "Write marketing plan" sits in your list for weeks because it's actually twelve tasks pretending to be one. No app breaks this down based on your actual capacity or energy levels.
Prompt: Push notifications are not prompts. You dismiss them reflexively. A real prompt is contextual -- it arrives when you have the time, energy, and tools to act, and it connects to an environmental cue you've already committed to. "When I sit at my desk after lunch, I will spend 15 minutes on the report." That's a prompt.
What I Actually Built
I didn't build a better list. I built an app that hides the list entirely. The core thesis: if you open a todo app and see 47 tasks, you've already lost. The cognitive load of choosing what to do next is the real blocker, not a lack of organization.
DO is a React Native app (Expo + TypeScript + Supabase) with a single primary screen: the Focus view. No list. One task. Here's how the behavioral science maps to actual features:
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? You only see easy tasks under 15 minutes, sorted shortest first. Wired? Hard tasks score higher. Steady? Standard scoring, weighted by deadline urgency, goal linkage, and context batching.
This is more practical than the calendar-analysis approach I originally theorized about. Calendar integration requires API permissions, historical data, and complex pattern detection. An energy check takes two seconds and achieves the same outcome: matching task difficulty to current capacity.
One Task at a Time
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. Not "this is your highest priority" but "Keeps your momentum in this area" or "Quick win -- under 5 minutes" or "Been waiting patiently" (which is how the app describes tasks that are more than a week old -- never "overdue").
Two buttons: "Do it" (starts a timer) or "Not this" (soft skip -- shows the next recommendation with only a -1 score penalty, no guilt). This is Hick's Law in action: reducing choices from 47 to 2 makes starting nearly effortless.
The traditional task list still exists behind a tab for management -- adding, editing, grouping by goal. But it's not the default surface. The list is the back office. The Focus card is the storefront.
Timer + Time Perception Training
When you tap "Do it," a timer starts. When you finish, the app compares your estimate to actual time: "You guessed 5 min, took 4:32. Spot on!" or "You guessed 30 min, took 12:18. Faster than you thought!"
This is grounded in Russell Barkley's research on ADHD time blindness -- the consistent inability to accurately estimate how long tasks will take. Most people with ADHD dramatically overestimate unpleasant tasks and underestimate enjoyable ones. Over time, the feedback loop calibrates their internal clock. The app doesn't lecture you about being wrong. It just shows you the data and lets the pattern emerge.
Momentum That Never Resets
Streaks are the worst feature in productivity apps. Miss one day and your 47-day streak resets to zero. The research on this is clear: the "what-the-hell effect" means that breaking a streak makes people less likely to continue, not more. You were doing great, you missed a day, now your counter says 0 and the motivation evaporates.
DO uses a 7-day rolling momentum meter instead. It shows how many tasks you've completed in the last week as a progress bar with a sparkline showing daily breakdown. The levels are encouraging: "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" -- not "0 days" or "streak broken." This is Brendan Mahan's "Wall of Awful" concept: ADHD brains build up emotional barriers around tasks they've failed at. A zero counter is another brick in the wall.
Compassion Over Punishment
Every piece of copy in the app was written with one rule: no shame language. This isn't a feel-good design choice -- it's a behavioral intervention.
- Old tasks aren't "overdue" -- they've been "waiting patiently"
- Skipping a task isn't failure -- "Not this" has a soft -1 penalty and the next task appears instantly
- Empty states say "A clean slate. Tap + to add your first task" not "You have no tasks"
- Completing everything says "Nothing right now. Enjoy the quiet. You've earned it."
Task completion triggers contextual celebration messages with haptic feedback. Finish a high-priority task: "Big one knocked out! That took guts." Make progress on a goal: "Done! You're now 60% through 'Launch portfolio'." Complete all tasks in a goal: "GOAL COMPLETE: Launch portfolio! Every task done."
This is BJ Fogg's celebration research applied literally: immediate positive emotion after a behavior is the most powerful reinforcement mechanism. Not points. Not badges. A message that acknowledges what you actually accomplished, with a buzz in your hand.
The Onboarding Problem
One design decision I'm particularly happy with: the app teaches itself through use. New users (including guest mode -- no account required) get a pre-seeded goal called "Learn how DO works" with 5 progressive tasks. Each task teaches one feature by asking you to use it.
Task 1: "Welcome to DO -- tap 'Do it' below." Task 2: "Check the Goals tab to see progress bars." Task 5: "Try changing your energy level to see different recommendations."
No tutorial screens. No tooltip overlays. No documentation. The app's thesis is that learning by doing beats learning by reading -- which is a behavioral insight applied to the onboarding itself.
What I Learned Building It
- Hiding the list IS the feature. This was the hardest design bet and the most important. Every instinct says "let users see their tasks." But the entire problem is that seeing 47 tasks causes paralysis. One task, matched to your energy, with a reason attached -- that's the product.
- Energy matching is more practical than calendar analysis. I originally planned a system that would analyze calendar data, historical productivity, and time-of-day patterns. A three-button energy check achieves 80% of the same outcome with 0% of the infrastructure complexity.
- Time perception training reveals real patterns. The estimate-vs-actual feedback isn't just motivational. Users (including me) consistently overestimate unpleasant tasks by 2-3x. Seeing that data repeatedly recalibrates your internal sense of how long things take. It's cognitive behavioral therapy through a timer.
- Momentum beats streaks, every time. A rolling window that never shows zero removes the single biggest de-motivator in productivity apps. The psychological difference between "0 days" and "Ready to start" is enormous.
- Ship the behavioral insight, not the feature list. The MVP has 6 behavioral interventions and no AI, no push notifications, no calendar integration. That's the right scope. Three well-executed behavioral features are more compelling than a feature-complete app with shallow psychology.
The Real Question
Every feature I built started from one question: "Why do people fail to complete tasks they genuinely want to do?" The answer is never laziness. It's always ability, energy, motivation timing, or prompting failure.
Behavioral science has decades of research on these exact problems. No mainstream productivity app applies it systematically. The opportunity isn't building a better todo list -- it's building a behavior change system that happens to organize tasks.
DO is that experiment. It's built with React Native and Expo, backed by Supabase, and deployed to the web. The tech stack is boring on purpose -- the behavioral design is where the innovation lives.
The best todo app isn't the one with the most features. It's the one that understands why you're not doing things -- and quietly removes the obstacles.