Type - A local-first daily and weekly planner. Task blocks, fixed routines, a goal journal. State lives in real files on disk, no backend.
My role - Sole author. Built for one user, me. Used every day.
Stack - Figma, React 18, Vite, Tailwind, tldraw.
400ms
debounce window
0
keystrokes lost
1
user, me, daily
What I worked on
- The design first, in Figma - the whole app was designed before a line of code
- The whole app - architecture, data model, UI, persistence
- A zero-data-loss save engine
- A drawing-canvas integration and hand-built accessibility
The hardest problem
- Zero-data-loss persistence with no backend server.
- An edit has to survive anything, including closing the tab mid-save.
EditDebounceSaveSurvives even a closed tab
What I've learned
- Zero data loss is a design goal you can engineer, even without a backend.
- A tool you actually use daily beats a sophisticated tool you abandon.
- Building for one user is a masterclass in cutting scope.