Your plan for the day,
floating above everything

The day you planned doesn't live anywhere — it's smeared across Linear, Jira, and a calendar tab you never look at. Floating Todos is a focus layer, not another task manager: one panel, one hotkey, on top of every app you work in.

macOS 14+ · ⌥⌘T to summon, Esc to dismiss · your trackers stay the source of truth

The Floating Todos panel on Today: prioritized tasks with time blocks, a subtask, and a done section — floating above an IDE

The panel

One hotkey away. Never in the way.

A non-activating floating panel that sits above every window — full-screen IDE included — and never steals focus from the app you're typing in.

Summon, glance, dismiss

⌥⌘T shows today. Esc hides it. That's the whole interaction model — the panel appears on every Space, keyboard-first, with no dock icon and no window to manage.

  • Day · Week · Month · Year · Backlog scopes (⌘1…⌘5)
  • Unfinished day todos roll over into today
  • Priorities, subtasks, reminders, recurrences, snooze
  • Minimal chrome: your tasks, and nothing else
Floating panel showing Today with priority-colored task cards, time chips, a subtask, and completed items

Type it the way you'd say it

The add field is also a command surface and a global search. Two characters in, it searches everything; keep typing and natural-language tokens turn into chips — in English or Russian.

  • «tomorrow», «at 15:00», «every day» — dates, reminders, recurrence
  • #labels and p1–p4 priorities inline
  • Click a chip to cancel it — the text returns to the title
Quick-add field parsing “Call Anna tomorrow at 15:00 #personal p2” into date, time, priority and label chips

Focus mode: one line, one task

⌥⌘F from anywhere collapses the panel into a one-line strip with your top task. Drag the edge to peek at what's next; right-click for a timer or a pomodoro. Everything else disappears.

Focus mode: a slim floating strip showing only the current top task

Time-blocking

Plan the week on a real calendar

A week grid with a Task Pool pane on the left: drag a backlog task onto the grid and it becomes a time block, with a live ghost showing exactly where it lands.

Task Pool → time block

The pool holds everything undated — local tasks and imports from your trackers, grouped by source and project. Planning is dragging; unplanning is dragging back.

  • Plan vs fact per day — planned hours against tracked time
  • Done blocks strike through; today keeps a live time indicator
  • Google Calendar events overlay read-only, time blocks sync two-way
  • Open with ⌘⇧C, pool alone with ⌘⇧P
Week calendar with the Task Pool pane on the left, colored time blocks across the week, and plan-vs-fact totals per day

Floating Notes

A journal that knows your tasks

One note per day, live markdown, and wiki-links that connect notes to tasks and back. ⌥⌘N — same floating behavior as the panel.

Write through the day

Meeting notes, decisions, half-thoughts — type [[ and link any task or note with autocomplete. Backlinks show up on both ends, and a task's detail page lists every note that mentions it.

  • Live markdown: headings, bold, lists, checkboxes as you type
  • Extract a line into a real task without leaving the note
  • Pinned notes on ⌘1…⌘9, search across all days with ⌘P
Floating Notes window: a daily journal note with live markdown and wiki-links pointing at tasks

Time tracking

Know where the day went

A timer on any task, one key away. The menu bar ticks while it runs; the calendar shows plan against fact when it stops.

Timer & Pomodoro

P starts and stops a timer on the selected task, ⇧P runs a pomodoro with focus and break phases. Sessions are editable after the fact.

Plan vs fact

Every calendar day shows planned block time against tracked time — the honest gap between the week you scheduled and the week that happened.

Toggl mirror

Push-only mirroring into Toggl Track: local sessions stay the source of truth, and a quiet indicator tells you if a mirror call ever fails.

Privacy

Local-first. Serverless. Encrypted.

Your tasks live in a database on your Mac — not on our servers. There are no accounts, no telemetry, and nothing to breach.

Local-first core

A Rust core with an embedded database owns all data. The app works fully offline; integrations only talk to the trackers you configure.

P2P sync, no server

Devices sync directly over an encrypted peer-to-peer channel (iroh), pairing with a QR code and an explicit trust list. CRDT merge means offline edits reconcile without conflicts — and no cloud ever sees your data.

🔒

E2E encryption

Optional envelope encryption over a passphrase-derived key, stored in the macOS Keychain — with key slots and rotation. Tracker credentials never leave the Keychain either.

Integrations

Your trackers stay the source of truth

Import what's assigned to you, work in the panel, and write status changes back — including comments and per-workspace status mapping.

Linear logo

Linear

API key or OAuth sign-in. Import assigned issues, write back state changes, reply to comments from the task's detail page.

Jira logo

Jira

Base URL + API token. Issues land in your day or pool; toggling done in the panel transitions the issue in Jira.

YouTrack logo

YouTrack

Permanent token auth. Same import + write-back loop, with your custom status registry mapped onto YouTrack workflow states.

Obsidian logo

Obsidian

Point at a vault: its tasks import into the backlog, and checking them off writes checkbox state back into your .md files.

Google Calendar logo

Google Calendar

Your calendars overlay the week read-only; scheduled todos become events, and moving an event in Google moves the todo.

Toggl logo

Toggl Track

Timer sessions mirror into Toggl automatically — reporting stays wherever your team already does it.

Statuses aren't hardcoded: define your own registry — like Linear's — and map it per workspace onto each tracker's workflow. A plugin API for custom sources is coming.

Raycast

Capture without switching

The official Raycast extension talks to the app over a local socket — nothing leaves your machine.

Quick add

Type a task into Raycast with the same natural-language parsing — «review specs tomorrow at 11 p1» — and it lands in your day.

Today at a glance

See today's list, check things off, and jump to any task — without summoning the panel at all.

Timer control

Start or stop the timer on any task and see what's currently running, straight from the Raycast window.

Set up the extension →

And the parts you'd expect anyway

Global searchTwo characters in the add field search every task, every scope.
Undo everywhere⌘Z walks back deletes, toggles, moves — plus a trash with restore.
Wiki-links[[links]] between tasks with aliases, backlinks, hover previews.
Action palette⌘K on any selection — every action, fuzzy-searched, with recents.
Native notificationsReminders fire as real macOS notifications with snooze presets.
Custom statusesYour own status registry with open/closed semantics, like Linear.
Browser captureCreate a task carrying the active tab's link — Things-style quick entry.
Menu-bar counterTasks left today, always visible; ticking timer when one runs.

Put your day one hotkey away

Free while in beta. macOS 14 or later, Apple silicon and Intel.