A focus and task app built for neurospicy brains.
FocusFlow is a personal productivity tool designed around how ADHD and executive-function challenges actually work — not around how productivity apps usually assume everyone's brain works. Instead of a plain to-do list, it combines a task scheduler with AI-assisted task breakdown and a focus timer, aimed at reducing the friction between deciding to do something and actually starting it.
Traditional to-do apps tend to assume a task like "Do my taxes" is something you just... do. For a lot of neurodivergent people, the gap between a vague task and the first physical action is where things stall out. FocusFlow leans into two ideas to help close that gap:
-
Break tasks down until the first step is trivially small. A task can be split into subtasks, and those subtasks can be AI-generated in two modes — a standard breakdown, or a "micro-chunk" mode that asks the model for small, concrete, single-action steps in the exact order to do them (starting with the smallest possible first step, to get the dopamine going). This in turn, follows the idea that small steps will encourage individuals who have an easy time finishing but hard time starting to get started.ds
-
Keep the tools that help you focus right next to the tools that help you plan. The countdown timer and the task list live on the same screen, so starting a focus session doesn't require leaving your task list behind.
-
Task scheduler
- Create tasks with a name, description, priority, category, and status (To Do / In Progress / Done)
- Break any task into subtasks, either manually or AI-generated
- Drag-and-drop reordering of tasks and subtasks
- Organize tasks into custom categories, with an "Overall" view to see everything at once
- Mark subtasks as blocked, describe the blocker, and get an AI-suggested way to unblock it
-
AI-assisted subtask generation, powered by the Gemini API
- Standard mode: a short, actionable list of subtasks
- Micro-chunk mode: smaller, more detailed, single-action steps designed to reduce executive-function load — built for ADHD and other neurodivergent working styles
- Aware of a task's existing subtasks, so it won't suggest duplicates
-
Focus timer
- Countdown timer with quick-select durations (1 / 5 / 30 min) or a custom time
- Optional alarm sound when time's up
- Remembers your last-used duration and sound preference between sessions
-
Persistent, local-first storage — tasks, categories, and preferences are saved to your browser's local storage, so your data is still there the next time you open the app
- React (Create React App)
- Zustand for state management, with
persistmiddleware for local storage - react-dnd for drag-and-drop task/subtask reordering
- Google Gemini API (
@google/genai, Interactions API) for AI subtask generation and blocker-solving suggestions
cd work-it
npm installCreate a .env file in work-it/ with your Gemini API key (get one at
aistudio.google.com/apikey):
REACT_APP_GEMINI_API_KEY=your_key_here
Then start the dev server:
npm startThe app will be available at http://localhost:3000.
Note: the Gemini API key is used directly from the browser in this app, which means it's visible in the client-side bundle. Fine for personal/local use — if you deploy this publicly, route the AI calls through a small backend instead so the key isn't exposed.
work-it/src/
├── App.js # Top-level layout/composition
├── store/
│ ├── taskstore.jsx # Zustand store: tasks, categories, AI actions
│ └── timerStore.jsx # Zustand store: countdown timer state
├── AI/
│ └── geminiClient.js # Gemini Interactions API client
└── components/
├── schedule/ # Task list, task cards, categories, task form
├── timer/ # Countdown timer
└── music/ # Alarm sound playback

