9days To-do

9days To-do

Backlogs must shrink.

Every other to-do app is happy to let a task sit in your list for a year. This one won't. On the first load of each new day, every leftover task blocks your way, one per screen, until you say out loud whether you still want it.

Keep it, and the app starts counting how many times you've kept it. Drop it, and it's gone for good. There is no third option, no snooze, and no way past the screen.

The Reckoning

One rule, enforced

  1. It fires on its own

    The first time you open the app on a new day, it stops being a list and becomes a review. You don't summon it and you can't postpone it.

  2. Keep or drop — nothing else

    One task per full screen. No skip button, no escape key, no closing the window. Tasks you wrote today are exempt; you can't be shamed for something an hour old.

  3. Keeping has a cost

    Every keep increments a counter that follows the task around as a badge. At three it's a note. At nine it reads “Kept 9× — be honest”, and the review stops asking whether it's still worth your time and asks whether it was ever real work.

Media Player — 9days To-do

Video goes here — see the comment in index.html for the two lines to paste.

Try it

The real app, in your browser

The demo is the actual application, not a mock-up. It opens with a backlog that is already overdue, so you land straight in a reckoning and feel the thing the app is about within a few seconds.

 

Worth knowing before you click

  • Everything stays in your browser. There is no account, no server, and nothing leaves your machine.
  • The demo reseeds its example tasks once per visit, so your own experiments won't survive a new tab. That's on purpose.
  • It's a fixed 300 × 500 window — that's the real shape of the desktop app, not a responsive layout that happens to be narrow.
  • Reminders and the tray behaviour only exist in the Windows build; a browser tab can't nudge you once it's closed.

 

 

The download is a portable .exe — nothing to install. It's unsigned, so Windows SmartScreen will say “Windows protected your PC” the first time: click More info, then Run anyway. Closing the window hides it to the tray rather than quitting, because a closed app can't fire reminders. Release notes.

Properties

How it's built

React and TypeScript on Vite, packaged for Windows with Electron. No backend, no accounts, no network calls — state lives in localStorage.

 

The Windows 95 shell is hand-rolled CSS with no UI library, down to the bevels and a pixel-accurate MS Sans Serif recreation drawn for 11px. That constraint is why the whole interface — and this page — uses one type size and carries hierarchy with weight, colour and case instead.

 

The retro look doesn't cost accessibility: real semantics, full keyboard support, and visible focus rings throughout. The dotted outline is both period-accurate and usable.

Built by shelmecha · github.com/shelmecha/9days-To-do