ADHD Project #32: I Built an External Prefrontal Cortex

A post-it note reading ADHD Project #32 stuck to a laptop screen showing code

I have a folder on my computer called “projects.” It has 47 items in it. Eleven of them are active. The rest are monuments to enthusiasm — started with absolute certainty, customized over weekends, abandoned within weeks.

If you have ADHD, you know this folder. You might call yours something different. Maybe it’s browser bookmarks. Maybe it’s a stack of notebooks where page 4 is always blank. The pattern is the same: a burst of “this changes everything,” followed by a slow fade into “I’ll get back to this.”

Project #32 was a personal task system. Again.

The Migration Chain

Here’s the full history of my personal task management:

Hand-drawn tombstones on an index card showing todo apps that died: Paper Todos, GTD, OmniFocus, Things, Obsidian, Linear

Paper todos (Hipster PDA) → GTD → OmniFocus → Things → OmniFocus → Obsidian → OmniFocus → Linear → Obsidian → Linear → Obsidian → Todoist.

Twelve systems. Each one felt like The One. Each switch followed the same arc: discover it, get excited, spend a weekend configuring it, use it religiously for three weeks, hit some friction point, start resenting it, find a new app, repeat.

The friction points were always personal. OmniFocus had too many options. Things was too simple. Linear was built for teams, not my grocery list. Obsidian was perfect until I had 200 markdown files and no idea which ones mattered.

But here’s what I didn’t realize for years: the app was never the problem. I was optimizing the wrong layer.

What ADHD Actually Breaks

Executive function. That’s the clinical term. In practice, it means the thing that helps you answer “what should I do right now?” is unreliable.

A neurotypical brain does this automatically. It weighs urgency, importance, energy level, time of day, context, and somehow produces a reasonable answer. Not always perfect, but functional. It’s like having a built-in task scorer running in the background.

My brain doesn’t do that. Or rather, it does — but the scoring function is broken. It weights novelty too high, urgency too low until it’s a crisis, and completely ignores energy levels. The result: I’ll reorganize my desk instead of filing taxes, not because I’m lazy, but because the desk project has a clear first step and the taxes don’t.

Every todo app I tried was essentially a list. A very nice, well-organized list. But a list doesn’t solve the scoring problem. It just gives me more options to freeze in front of.

The Shame Spiral of Due Dates

Here’s something specific that took me years to understand.

I used to put due dates on everything. “Reply to that email — due Tuesday.” “Research new accounting software — due Friday.” “Call the dentist — due Monday.”

These weren’t real deadlines. Nobody was waiting. Nothing would break. They were aspirational. I was scheduling my future self to be productive.

Hand-drawn circular diagram showing the shame spiral: set aspirational due date, miss it, now overdue, shame, stop opening the app, real crisis slips through, panic mode, exhaustion, repeat

What actually happened: Tuesday came, I didn’t reply to the email. Now it’s overdue. Wednesday, Thursday — still overdue. By Friday, I have four overdue items staring at me in red. I haven’t failed at four tasks — I’ve failed at the same task four times, because every day it sits there overdue is another small reminder that I can’t do a basic thing.

So I stop opening the app. Which means I also stop seeing the tasks that actually matter. Which means something genuinely urgent slips. Which creates a real crisis. Which I handle in a panic. Which exhausts me. Which makes the overdue list grow.

This is the shame spiral, and every ADHD person reading this is nodding right now.

The fix is embarrassingly simple: due dates are only for hard deadlines. Bills. Appointments. Things where an external system breaks if you miss them. Not aspirational scheduling. Not “I’d like to do this Tuesday.”

I wrote this on an index card. Literally. Like a Hipster PDA note from 2006, because apparently my task management has come full circle.

Hand-written Todoist cheatsheet on a worn index card with rules for due dates, priority levels, and labels

Building the Scorer

About a year ago I started building what I now call Antti OS — a system of AI agents that help me manage work across multiple projects. One of those agents is called the Oracle. Its job is to answer the one question my brain can’t: “What should I do right now?”

The Oracle doesn’t just look at due dates. It scores every task across multiple dimensions:

  • Overdue? +100 points. (But remember — only hard deadlines get due dates now, so overdue actually means something.)
  • Due today? +50.
  • Quick win? +30. Small tasks with the @quick label get a boost because starting something easy builds momentum.
  • Deep work after 3 PM? -20. My focus tanks in the afternoon. The system knows this.
  • Errand outside business hours? -15. Can’t go to the pharmacy at 9 PM.
  • Has a clear first step? +10. Tasks with size prefixes like [S] are more likely to get started.

It also knows Finnish. My tasks are bilingual — “soita hammaslääkärille” (call the dentist) gets flagged as a phone-call task, which means it scores higher during business hours.

This is what I mean by an external prefrontal cortex. Not metaphorically. The Oracle does, mechanically and reliably, what executive function does in a neurotypical brain: weigh context, energy, timing, and urgency, then surface the best option. It doesn’t always get it right. But it’s consistent, which is more than I can say for my own wiring.

The Moment I Knew It Was Working

Last week I migrated my entire task system from Obsidian to Todoist. Twelve systems, remember? This should have been a multi-day project. New API to learn. Eight AI agents to update. Scoring logic to adapt.

It took one session.

Here’s what happened: I updated the data fetching in each agent — swapped “read markdown file from Obsidian” for “curl the Todoist API.” That was it. The scoring logic? Untouched. The ADHD-specific energy awareness? Untouched. The celebration system that gives me dopamine hits when I complete tasks? Untouched.

Hand-drawn bar chart showing 830 lines of protocol versus 30 lines of data fetching, titled Where the Value Lives

My evening reflection agent is 830 lines long. 800 of those lines are about celebrating wins, prompting gratitude, previewing tomorrow, and managing the emotional side of ending a workday with ADHD. 30 lines are about fetching task data.

30 lines changed. 800 survived.

That’s when I realized what I’d actually built. Not a todo app integration. Not a fancy wrapper around an API. I’d built a protocol layer — the scoring, the awareness, the coaching — and made it independent of where the tasks live.

The todo app became a replaceable database. The prefrontal cortex stayed.

What the Protocol Actually Contains

The interesting part isn’t the technology. It’s the accumulated self-knowledge encoded in the system.

Energy patterns. I learned (through tracking, failing, and tracking more) that my deep focus window is 9 AM to 2 PM. After that, I’m good for quick tasks, errands, and admin. The system encodes this as scoring penalties — it won’t suggest I start a complex research task at 4 PM.

Context awareness. Labels like @quick, @deep, @errand aren’t categories — they’re contexts. “I’m at my desk with two hours” is a different state than “I’m waiting for a coffee.” The system matches tasks to context instead of asking me to schedule contexts to timeslots.

Activation energy. The hardest part of any task for an ADHD brain is starting. A task titled “Deal with insurance” has infinite activation energy — where do I even begin? A task titled [S] Call insurance, ask about claim #4481 has a phone number and a script. The system scores tasks with clear first steps higher.

Anti-shame. No task gets a due date unless it has a real deadline. The overdue list is short and meaningful. When everything is overdue, nothing is. When three things are overdue, you notice.

Celebration. 830 lines of it. This isn’t a nice-to-have. For ADHD brains, the dopamine hit of completion is the fuel that drives the next task. The system tracks what I completed today, highlights wins, and gives me a sense of progress. Without it, I’d finish six tasks and feel like I did nothing — because the remaining list is always longer than the done list.

Why Most Productivity Systems Fail for ADHD

Most productivity systems assume a functioning executive function. They’re built for brains that can:

  1. Look at a list and pick the right thing
  2. Maintain awareness of time passing
  3. Self-motivate without external deadlines
  4. Feel proportional satisfaction from completion

If your brain does these things, any todo app works. The list is enough. Pick something, do it, feel good, pick the next thing.

ADHD breaks all four. So you need:

  1. Something that picks for you (or at least ranks)
  2. Time-awareness built into the scoring
  3. External structure that replaces internal motivation
  4. Celebration mechanics that manufacture the dopamine your brain won’t produce on its own

That’s not a todo app. That’s a cognitive prosthetic. And it turns out, AI agents are pretty good at being cognitive prosthetics — because they’re patient, consistent, and never judge you for having 47 items in your project folder.

The Part Nobody Talks About

Here’s the uncomfortable truth about building a system like this: it requires you to be honest about how your brain works.

Not how you wish it worked. Not the version of yourself that wakes up at 5 AM and journals. The actual version. The one that checks Twitter instead of starting the tax filing. The one that buys a new notebook to organize their thoughts and uses three pages.

I had to encode things like “I can’t focus after 3 PM” and “I won’t start tasks without clear first steps” and “I need to be told I did a good job.” These are not things most people put in their productivity system. They feel like admissions of weakness.

But they’re not weaknesses. They’re specifications. And once you treat them as specifications — inputs to a system rather than character flaws — you can engineer around them.

The deep work penalty after 3 PM isn’t a judgment. It’s a parameter. The celebration system isn’t coddling. It’s a dopamine delivery mechanism. The “no aspirational due dates” rule isn’t lowering my standards. It’s preventing the shame spiral that makes the whole system collapse.

What Changed and What Didn’t

Twelve todo systems later, here’s what I’ve learned:

What always changes: The app. The UI. The API. Where the data lives. The sync mechanism. The mobile experience. These things are commodity. They’re replaceable. They should be replaceable.

What never changes: How my brain works. What time of day I’m sharp. What makes me start a task versus avoid it. What makes me feel accomplished versus empty. The scoring function. The protocol.

I spent years optimizing the wrong layer. Twelve app switches, each one a fresh start that felt like progress. The progress was actually happening underneath — in the slowly accumulating self-knowledge about what my brain needs. I just didn’t have anywhere to put that knowledge until I built the protocol layer.

Now I do. And when the next todo app comes along — because it will, and because some part of my brain will want to switch — the protocol survives.

The app is a database. The prefrontal cortex is the product.


Commit #648 was the one where the migration took one session and I realized 12 years of todo app shopping was finally over.