Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

FocusFlow

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.

Kapture 2025-07-06 at 21 48 28

Kapture 2025-07-06 at 22 07 11

Why

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.

    Features

  • 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

Tech stack

  • React (Create React App)
  • Zustand for state management, with persist middleware 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

Getting started

cd work-it
npm install

Create 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 start

The 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.

Project structure

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

About

A Neurospicy focus app

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages