Skip to content
Back to Projects
ADHD Coach

ADHD Coach

AI-powered task coaching system for ADHD-friendly task management. Integrates with Todoist API, uses collaborative AI for smart task recommendations based on energy, time, and motivation patterns.

Node.jsAIClaude APITodoistElevenLabs

The Problem

ADHD task management isn't about forgetting what to do -- it's about executive dysfunction around choosing what to do next. Traditional to-do apps present a flat list and expect you to prioritize, estimate effort, and self-start. For ADHD brains, that's the exact cognitive bottleneck that causes paralysis. ADHD Coach was built to be the external executive function that picks the right task at the right time based on how you're actually feeling.

The Dual-AI Architecture

The system uses two AI models in a collaborative arrangement. GPT-4 serves as the Task Analyst -- it scores and categorizes tasks based on objective factors (priority, deadline, age, skip count, project context). Claude serves as the Empathetic Coach -- it considers emotional and motivational factors, energy levels, time of day, and patterns of avoidance. Both models receive the same task data and user context, but approach recommendations from different angles.

The model selection is dynamic based on complexity. Simple queries (few tasks, quick follow-ups) use cheaper models (GPT-4o-mini, Claude Haiku). Complex scenarios (first sessions, 30+ tasks, stuck tasks, low completion rates) escalate to full models (GPT-4o, Claude Sonnet). This keeps costs reasonable while ensuring quality when it matters.

The Negotiation System

When a task gets skipped multiple times, both AIs enter a negotiation. GPT-4 analyzes the situation objectively (is the task poorly defined? too large? missing context?). Claude considers the emotional dimension (is there anxiety around this task? is it associated with a negative experience?). They synthesize a decision: break the task down, defer it with a specific return date, reframe it, or surface what's blocking it. The negotiation is logged, and the resulting profile updates inform future recommendations.

Semantic Memory

The system includes a vector memory layer using LanceDB and the Xenova/all-MiniLM-L6-v2 embedding model (running locally via Transformers.js). It stores task insights, motivational patterns, user preferences, and question-answer pairs as embeddings. When making recommendations, the system queries semantically similar memories to inform its suggestions. Over time, it builds a model of what kinds of tasks the user avoids, what time of day they're most productive, and what framing helps them start.

Context Profiles

Beyond task data, the system maintains context profiles that track user-specific patterns: completion rates by time of day, skip patterns by project, energy level correlations, and task type preferences. These profiles persist in SQLite and feed into both AI models' prompts, making recommendations increasingly personalized.

Todoist Integration

The system syncs with Todoist's API to pull tasks, projects, and completion data. It caches task state locally in SQLite and syncs with Todoist every 30 minutes during active sessions. Rate limiting (20 chats/minute, 10 recommendations/minute) prevents runaway API costs, and API calls have 8-10 second timeouts to keep the interface responsive.

Tech Stack

Node.js/Express, Anthropic Claude API, OpenAI GPT-4 API, Todoist REST API, SQLite (better-sqlite3), LanceDB (vector database), Transformers.js (local embeddings), vanilla HTML/CSS/JS frontend.