Life is short.
Stop managing your to-do list. Do the one thing that matters right now.
Say what's on your mind. Life is short turns it into tasks, puts them on your calendar,
and shows you the one thing to do right now.
How it works · Repeats · Review · Design · Make it yours · Sharing · Security · Run your own
The idea
You get about four thousand weeks. That's it. And most to-do apps want you to spend them organising: projects, tags, inboxes, contexts, reviews, a list that only gets longer.
Life is short does the opposite. One box to dump things into. One answer on the screen.
Dump it. Type it or say it. A word, a list or a thirty-second ramble. You see the plan before anything changes.
Slot it. A day or a time puts it on your calendar. Anything else lands in a backlog, already prioritised.
Do it. The screen shows the one thing to do now, a Done button and a Schedule button. Nothing else to manage.
No folders. No filing: the AI even picks the label. No "weekly review". You don't keep a system going; you get on with your day.
How it works
1 · Dump
Type in the chat bar or tap the mic and just talk. Your words stream in as you speak, and it keeps listening until you tap stop.
"Finished the roadmap draft. Call the plumber tomorrow at 9, landing page copy is due Friday, and book a haircut at some point."
The AI reads it like a good assistant would. It pulls out every task, gives each a short title, a priority and a realistic length, and works out dates. It also spots when you're talking about something already on your list: "finished the roadmap" ticks it off instead of adding a duplicate.
Nothing lands until you say so. When you stop talking you get the full transcript and the plan, one row per change: add, move, tick off. On a laptop the plan shows on the calendar too, dashed, right where it would go. Tap a change to edit it, untick one you don't want, or just keep talking ("make the haircut Thursday afternoon") and the plan updates. Apply and it's done, with Undo; the chat clears for next time and lands in your history.
2 · Slot
- Said a day or a time? It goes straight onto the calendar.
- Said a deadline? It waits in the backlog with a due date.
- Said neither? It waits in the backlog, ranked: Urgent, Important, Later, then by due date.
- Every task gets a label, like Work, Personal or Helping others. The AI picks it from what you said, or type a
#tag.
When you're ready, one tap finds the next free gap in your day, on a 15-minute grid, inside the hours you set.
3 · Do
The top of the screen is always the Next task: the task on your calendar at this minute, or the most important thing in your backlog, with how long you have for it.
Done. Or Schedule: click a time, or take the next free slot. Below it you see what comes Next.
Slipped past something? When its slot ends without a tick, it goes back on top of your backlog, ready for another go. No guilt, no lost tasks.
Every capture, move and tick comes with Undo. A half-typed thought is still there when you come back. No AI key? A built-in parser understands "tomorrow at 9", "by Friday", "urgent", "2h" and "someday", so it keeps working.
Things that come back
"Order groceries every Monday and Thursday." "Gym Mon, Wed and Fri at 7am." "Pay rent on the 1st of every month."
Say it once and it's a repeat: every day, on weekdays, on the days you name, every other week, every few days or once a month. The AI hears it, and so does the built-in parser. Or open any task and pick Repeat.
- On its day, not before. Each day it lands on, you get one ordinary task. With a time it goes on the calendar; without one it waits in the backlog, due that day. Thursday's grocery order is never Tuesday's Next task.
- One at a time. Skip Monday's order and Thursday's takes its place, so you never have two "Order groceries". The one you skipped still counts as missed in the review.
- Ahead on the calendar. Repeats with a time show faintly on the days to come, and slotting works around them.
- Change the task, change the repeat. Rename it, re-prioritise it or give it a label, and the ones to come follow. Moving one on the calendar moves just that one.
- Skip one or stop them all. Delete today's to skip it; it won't come back. Pick Doesn't repeat, say "stop the grocery repeat", or use Settings → Repeats, which lists everything that repeats and when it comes next.
See how it went
Open Analytics (at the top on a laptop, in the ••• menu on a phone) for how the week is going, then Full review for how a day, week or month went, worked out from everything on your list. Step back through earlier ones with the arrows (or ← and →).
- A score out of 100, and what it's made of: how much of what came due got done, how much on its day, how many of your busy days you got something done, and how your Urgent and Important work fared. Under it, what stood out, in plain sentences.
- Done and missed. Every task with a slot or a deadline is on time, late, missed or still to come. A missed task goes back to your backlog, but its slot still counts as missed where it happened, and so does one you reslot or delete, so the review stays honest.
- Type of work. Time by label, your tasks and your Google meetings together, with each label's share, what got done and what was missed.
- Day by day, hour by hour. Stacked by label, with missed slots marked. Pick a day to open it. Every chart has a table view.
- Rhythm, flow and load. The hour you get the most done, what came in against what went out, how long things take from capture to done, how full your calendar was against your day, and quick wins against deep work.
- The trend and the tasks behind it. The last 14 days, 8 weeks or 6 months side by side, and every task that was missed, late, done or still to come.
A week still under way is held up against last week up to the same point, so a Tuesday isn't measured against a whole week.
Designed to get out of the way
There are only two heavy things on any screen: the task you're on, and the mic. Everything else stays quiet.
Pick a light to plan by. Tide is cool and bright: a slow wave runs under the current time, and a hairline across the Next task fills as your day goes. Night train is warm amber on deep blue, with the light of a passing platform sweeping across now and then and a lamp glowing by the task you're on. Day train is the same carriage by daylight. Prefer stillness? Turn the ambient light down to Quiet or Still.
On your phone it's focused: the Next task on top with Done and Schedule, then the Priority matrix or your calendar a tab away, and the chat bar under your thumb. Tap Schedule, then tap a time; the timeline marks the next free slot for you. Press and hold a task to drag it onto Done or the trash. How the day and week are going, Analytics, Share and Settings are in the ••• menu.
On your laptop it opens up into a full planner: the Next task and the Priority matrix on the left, a calendar that fits your day on the right, and the chat bar floating over it.
- The matrix is your backlog: a row per label, a column per priority, each cell a count that darkens as it fills. Click a cell to filter the list to it; what you filter out fades on the calendar. Drag a task onto another cell to change its label or priority.
- One divider, sized your way. Drag it and the calendar shows 1, 2, 3, 5 or 7 days, settling on the nearest. Arrow keys step it, a double-click resets it. Give the matrix the room and it opens into the full grid of tasks.
- The calendar fits your day: your hours fill the height, with one tap for anything earlier or later, and a live wave (or line) at the current time.
- Drag a task from the matrix onto any time. Drag it back to unschedule it.
- Drop it on Done or the trash. While you drag a task, two targets rise where the chat bar sits: Done ticks it off, the trash deletes it. Both come with Undo.
- Drag the edge of a block to make it longer or shorter.
- Click, then click. Pick a task, then click a time slot, or take the next free one.
- The chat bar (
⌘K) grows into a panel: the plan comes back as a list of changes to tick on or off before you apply them, and History keeps every past chat with its Undo.
- Analytics, Share and Settings slide in from the side, so the planner stays in view.
- Keyboard-friendly:
E edits, Enter opens a block, Delete sends it back to the matrix, Esc closes anything.
It feels fast because it is fast: rows rise in, ticked tasks get a check-and-strike, the next task's time flips in, and your theme loads before the first frame, so it never flashes. Reduced motion keeps all of it still.
Make it yours
- 3 themes: Tide, Night train and Day train, or match your device (Night train after dark, Tide by day).
- Ambient light: Present, Quiet or Still. Reduced motion holds it still too.
- 10 accent colours, each theme's own, or pick your own. Life is short adjusts it until it's readable on your background.
- 9 fonts, including Lexend and Atkinson Hyperlegible for easier reading.
- Text size, list density, increased contrast, reduced motion, and a 12- or 24-hour clock.
- Your day: set the hours you work. The calendar shows them, auto-slotting stays inside them, and the AI plans around them.
- Your labels: the parts of your life, named, coloured and ordered your way. Every task wears its label's colour, so work time and personal time read at a glance.
- Week starts Monday, Sunday or Saturday. Shade weekends, show ISO week numbers, colour events by label, account, calendar or priority.
Every change previews live and follows you to your other devices. The theme, accent and ambient light stay per device, so your phone can follow the sun while your laptop rides the night train.
Your whole life, one calendar
Connect up to five Google accounts, personal and work alike. Their Google Calendar events and Google Tasks land on the same calendar, each account in its own colour, so Life is short slots your tasks around the meetings you already have.
- It refreshes every 30 minutes while the app is open.
- A meeting that's on two of your accounts shows once.
- You choose which calendars to pull, per account. Holidays and other subscriptions stay off until you tick them.
- Give each account a label (or one calendar inside it, like a gym calendar on your work account) and its events take that label's colour.
- It's read-only: nothing is written back to Google. Your priorities, notes and done ticks stay yours.
On every screen you own
Add a task on your phone in the queue for coffee and it's on your laptop within seconds. Live sync keeps every open screen up to date, and the phone and the laptop each get a layout built for them.
Apps for iPhone, iPad and Mac wrap the same planner in a native window: dictation on the device, Siri and Shortcuts ("Dump a thought in Life is short"), Home Screen quick actions, and a Mac menu bar with every shortcut. They update whenever the planner does, and ship through TestFlight. See docs/apple.md.
Want to try it without an account? Run it with no keys and it works entirely in your browser.
Share a view, keep the keys
Let someone see your planner without handing it over. Settings → Sharing: add their email, pick what they see and for how long, and send them the link.
- What they see is up to you: the backlog, the calendar (today, upcoming or all), titles or just busy, with or without your Google events. Never your notes.
- No account, no password: they open the link and sign in with a code sent to that email. The link on its own isn't enough.
- They can suggest, you decide: a task for your backlog or a time on your calendar. A small badge tells you, and nothing lands until you approve it.
- You always know your exposure: who can see what, until when, which devices are signed in, and a log of every sign-in, view and wrong code. See what they see shows you exactly that, and Stop sharing signs them out on the spot.
Locked down by default
Your task list is a map of your life, so it's protected like one.
- PIN + authenticator code to get in, once a day; or PIN + Face ID on your iPhone and iPad; or a passkey (Face ID, Touch ID, Windows Hello) on its own. After your first sign-in it never asks for your password again. There's no sign-up page and no email links to phish. People you share with never get an account: they get a view-only window, decided by the database.
- The database checks it, not only the app. Row-level security refuses to return a single task unless this session passed both checks, or a passkey, in the last 24 hours. Face ID after your PIN can only renew a device you've already signed in on with a code. Your authenticator app always stays, so there's always a second step. A stolen password, PIN or session token on its own reads nothing.
- Five wrong PINs and the PIN is wiped and every session is signed out.
- A strict Content-Security-Policy, HSTS, no framing and no caching of API responses.
- A nightly backup to a second database in another region. Before each copy it runs a set of breach checks, and if anything looks off it refuses to overwrite your last good copy. A weekly check confirms the two copies match exactly.
The full write-up is in docs/security.md.
Run your own
Life is short is built to run as your own private copy: one person, your own database, nobody else's app.
npm install
npm run dev # http://localhost:3000/app, with tasks stored in your browser
That's enough to try it. For your phone and laptop, add Supabase (sync and sign-in), a free Gemini key (AI sorting) and, if you like, Google:
Built with Next.js, TypeScript, Supabase and Gemini. Hosted on Vercel.
Life is short.
Dump it. Slot it. Do it.