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

The Lens at actual size. It floats above every window, on every Space and over full-screen apps, and never takes keyboard focus.

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.

1

Transition voids

You finish something, there is no obvious next thing, and the next twenty minutes evaporate.

2

No way back

A notification, a tab, a stray thought, and the task you were on has left working memory.

3

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.

PrincipleWhat it means in the app
One thing at a timeThe Lens shows one task, never a list. Lists exist one click away, only when you ask.
Externalise working memoryWhat you were doing, what came in and what is next are written down by the app, not held in your head.
Make time visibleTime is a ring that fills and changes colour. Digits are an option, not the default.
Decide aheadNext is chosen before the current task ends, while you still have momentum.
Zero-friction captureA stray thought takes one hotkey and two seconds to park, without leaving your task.
No shameNo red, no “overdue”, no streaks that can break. Unfinished work carries over; it is never late.
Micro-startsEvery start is a two-minute commitment. Continuing after that is free.
Gentle, never modalNudges are motion and colour. No dialog ever appears over your work during a running timer.
Agents propose, you disposeAgents can add and update tasks. Only you decide what is Now.
Calm by defaultOne 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.
The card: hover the pill or press ⌥Space

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.

Right after Done: the next task is already there

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

Release notes SHA-256 checksums All releases

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.