Focus capture · attach a time · do 1–3
Capture
Type naturally — call Sam friday 2pm @Dana fills in the date, time & person. Add every week to repeat, or #today for today. No fields required.
Person

Today

Your 1–3 most important tasks. Give each a real next step and a time. Do the top one first — one thing at a time.

Inbox

Raw captures. Triage each: decide the next action, a when, maybe who.

Scheduled

Parked with a time. When its day comes, pull it into Today.

Done
Cleared tasks stay here as a record.

Why it's built this way

No app can out-think the research: there's no single productivity system the evidence crowns — but three mechanisms hold up across peer-reviewed studies. This tool does exactly those three, and nothing that gets in their way (no sprawling board, no 60-item master list).

1

Get it out of your head

Externalizing tasks lowers cognitive load and the mental drag of open loops. Capture is instant and demands nothing — so it actually happens.

2

Attach a next action to a time

“When X, I’ll do Y” plans are the field’s most reliable finding (d≈0.65). That’s why a task on the calendar beats a task on a list.

3

Keep it short, one at a time

Attention holds about four things, and task-switching leaves residue that degrades the next task. So Today caps at three and elevates the one to do now.

Basis: Yared Consulting Knowledge Base — “The best-evidence way to manage to-dos” (2026-07-01). Anchors: Gollwitzer & Sheeran 2006; Masicampo & Baumeister 2011; Cowan 2001; Leroy 2009; Risko & Gilbert 2016. Note: the popular “Zeigarnik effect” (you remember unfinished tasks) does not replicate — the real gain is removing open-loop drag, which capture-and-plan does.

Team sync

Live shared tasks across people and devices, backed by your own Supabase. Everyone who enters the same project URL, key, and board name shares one list — changes appear in real time.

First-time setup (run once in Supabase)

In your Supabase project → SQL Editor, run:

create table if not exists focus_tasks (
  id text primary key,
  board text not null,
  data jsonb not null,
  updated_at timestamptz default now()
);
alter table focus_tasks enable row level security;
drop policy if exists "team access" on focus_tasks;
create policy "team access" on focus_tasks
  for all to anon, authenticated
  using (true) with check (true);
grant usage on schema public to anon, authenticated;
grant all on table focus_tasks to anon, authenticated;
do $$
begin
  alter publication supabase_realtime add table focus_tasks;
exception when others then null;
end $$;

Heads up: anyone with the URL, anon key, and board name can read and write this board — treat them like a shared team password. We can add per-user login later.

Share & hand off

This is a single file that stores tasks in your browser. To share with a teammate, export the file or copy a text summary. Live multi-person sync isn’t built in — that needs a shared backend; say the word and we can add one.