One task in view. Everything else waits quietly.
Fovea is a small, always-visible window on your Mac that holds exactly one thing: what you are doing right now. Behind it sits a short queue of what comes next, fed by the AI agents and tools on your machine, and a timer that knows the difference between flow and hyperfocus.
macOS 14 or later · Apple Silicon and Intel · No account
Your download has started. Next: how to open Fovea and connect your agents.
Why the name
The fovea is the tiny part of the retina that sees sharply; everything else is periphery. Fovea keeps one task in the fovea and moves everything else to the periphery, where it is still there, so you know it is not lost, but not loud.
Who it is for
For screen work with several streams at once
Fovea is built around three specific ways the day goes missing.
Transition voids
You finish something, there is no obvious next thing, and the next twenty minutes evaporate.
No way back
A notification, a tab, a stray thought, and the task you were on has left working memory.
Time blindness
Both directions: a five-minute break becomes forty, and ninety minutes of hyperfocus skips lunch.
Designed for ADHD
The rules every feature has to follow
Fovea was designed first for ADHD, which turns out to make it calmer for everyone. These principles are constraints, not slogans: a feature that breaks one does not ship.
| Principle | What it means in the app |
|---|---|
| One thing at a time | The Lens shows one task, never a list. Lists exist one click away, only when you ask. |
| Externalise working memory | What you were doing, what came in and what is next are written down by the app, not held in your head. |
| Make time visible | Time is a ring that fills and changes colour. Digits are an option, not the default. |
| Decide ahead | Next is chosen before the current task ends, while you still have momentum. |
| Zero-friction capture | A stray thought takes one hotkey and two seconds to park, without leaving your task. |
| No shame | No red, no “overdue”, no streaks that can break. Unfinished work carries over; it is never late. |
| Micro-starts | Every start is a two-minute commitment. Continuing after that is free. |
| Gentle, never modal | Nudges are motion and colour. No dialog ever appears over your work during a running timer. |
| Agents propose, you dispose | Agents can add and update tasks. Only you decide what is Now. |
| Calm by default | One accent colour, generous space, Reduce Motion honoured, sounds off until you turn them on. |
The Lens
A window that holds one task
The Lens is a small dark panel that lives above every other window. It is the product; everything else in Fovea exists to keep it accurate.
- A pill while you work. The task title, a time ring and a count of parked thoughts. Nothing else.
- A card when you want it. Hover or press ⌥ Space for Next, Park and Done. It shrinks back on its own after a few seconds.
- Out of the way. It never takes keyboard focus, snaps to screen edges, remembers its place per display, and dims when the pointer has not been near it for a while.
- One-keystroke actions. Start or pause, done, park a thought, where was I, switch to Next. Every hotkey can be remapped.
Now / Next
No empty screen between tasks
Only one task can be Now. One more is Next, and it is chosen early: when the ring passes about 80% of the estimate, or at the end of a pomodoro, the Lens quietly shows “Up next” with a one-tap change.
When you press Done, Next is already on screen with a Start 2 min button. Starting is the hard part, so every start is a two-minute commitment. After two minutes the ring just keeps going; there is no question to answer.
Done shows the time a task actually took next to the estimate, without judgement. Today stays short on purpose: four tasks, at most one of them deep work, and the app will not take a fifth.
Timers
Timers built for ADHD time
Soft-edged pomodoro
25 minutes of work, 5 of rest, a long break every four; all adjustable. When an interval ends mid-flow, the Lens offers finish the thought (+5) instead of demanding a stop. If pomodoro is one more thing to fail at, switch to a free-running timer against your estimate.
Hyperfocus guard
After a long stretch of continuous work (90 minutes by default) the pill starts breathing slowly, then adds a line saying how long you have been at it, then suggests a break. Never a dialog, and never a sound unless you ask for one.
Breaks that end
Breaks that run long are the real failure mode, so the break is the one time the Lens gets more visible: it counts down in teal and, at zero, shows what you are coming back to.
Soft end
Hyperfocus guard
Break over
Distraction recovery
A way back after every interruption
Distraction is not a character flaw; it is a context switch with no bookmark. Fovea keeps the bookmark.
Park it
⌥ P opens a one-line field over the Lens, not over your work. Type the thought, press Return, and it is saved with a timestamp and the task you were on. The pill’s tray count tells you it is safe.
Where was I?
⌥ W expands the Lens with the current task, the last note you left on it, how long you were away, and which apps you were in. App names only; nothing more invasive.
Interrupt
For what you cannot park, like a colleague at your desk: one tap pauses the task and logs an interruption, and the Lens turns into a Resume button that brings the task and its timer back.
Agents propose, you dispose
Tasks that arrive from your machine
Much of the work now starts in a terminal: a coding agent finishes a step and needs a review, a script notices something. Fovea gives them a door. The app runs a local socket API, and the bundled fovea command-line tool and its MCP server (fovea mcp) let Claude Code, Codex and any MCP-capable agent create, update, complete and query tasks.
Every task records where it came from. Agent tasks land in the Inbox or Later, never in Now or Next; only you decide what you are doing. An agent can mark a task as waiting on you with a question, and that is the one time the Lens shows a badge while you work, because unblocking an agent is usually the most useful thing you can do.
The CLI
Three examples
# add a task for today with an estimate
$ fovea add "Write the release notes" --horizon today --est 30m
# park a thought without leaving your task
$ fovea park "check staging has the new schema"
# what am I doing, and how long have I been at it?
$ fovea now
Every command takes --json. If the app is not running, the CLI starts it.
Claude Code
One command
$ claude mcp add fovea -- fovea mcp
Or in a project’s .mcp.json:
{
"mcpServers": {
"fovea": { "command": "fovea", "args": ["mcp"] }
}
}
Codex
~/.codex/config.toml
[mcp_servers.fovea]
command = "fovea"
args = ["mcp"]
The MCP server has no tool for setting Now or Next. That is deliberate: agents propose, the human disposes. The fovea command is on your PATH after a Homebrew install; with the .dmg, use Install Command Line Tool… in the app.
Planned
Not in 0.1 yet
Fovea is new. These are designed and on the way, roughly in this order; none of them is in the current version.
- Calendar awareness and a day bar showing how much of today is left
- A morning sheet and an end-of-day shutdown review
- Energy match: low, ok or sharp, and Next suggestions that respect it
- Promotion rules for agent tasks and a Streams view of running agents
- Bringing back the apps you were in, from Where was I
- A weekly review with estimate calibration, and Markdown daily notes
Privacy
Everything stays on your Mac
Fovea has no backend, no account and no telemetry. There is nothing to sign up for and nothing to sync.
- Your dataTasks, parked thoughts and the time log live in one SQLite file in
~/Library/Application Support/Fovea. - AgentsAgents reach Fovea through a local socket only your user account can open, with a per-install token. Nothing listens on the network.
- NetworkThe app makes two kinds of request: the update check against the public release feed on GitHub, which you can turn off, and the download of an update you accept.
- This websiteNo cookies, no analytics. One request to the GitHub API to find the newest download.
Download Fovea
Free. Version 0.1.0, signed by IDv4, Inc. and notarized by Apple.
Download for MacUniversal .dmg
macOS 14 or later · Apple Silicon and Intel
Or with Homebrew
brew install --cask dciobanu/tap/fovea
Homebrew also puts the fovea command on your PATH. Updates arrive inside the app either way.
After downloading, here is how to open it and connect your agents.
Your download has started. Next: how to open Fovea.