A two-screen ritual for the working day.
Handoff is a minimalist desktop app built around a single daily practice: at the end of your day, you write a brief note to tomorrow's self. When you open the app the next morning, that note is waiting for you.
No cloud. No sync. No account. No notifications. Just you, one thought, and the morning after.
The idea is simple: the act of writing forces you to decide what actually matters before you close your laptop. The act of reading it the next morning gives you a moment of intention before the day takes over. Done consistently, it becomes the quietest, most effective habit you can build.
Pre-built installers are in the installer/ folder next to this file.
| File | Type | When to use |
|---|---|---|
Handoff_1.0.0_x64-setup.exe |
NSIS installer (~2.1 MB) | Personal install, recommended |
Handoff_1.0.0_x64_en-US.msi |
MSI package (~3.2 MB) | Managed/enterprise environments |
Requirements: Windows 10 or 11 (64-bit). WebView2 runtime is pre-installed on Windows 11; Windows 10 users may be prompted to install it automatically on first launch (~1.5 MB).
After installation, Handoff runs silently in the system tray. It does not open a window on startup — it waits for you.
There are two ways:
- System tray — click the Handoff icon in the tray (bottom-right of taskbar)
- Global hotkey — press
Ctrl + Alt + Shift + Hfrom anywhere
The same action toggles the window open and closed.
Evening — open the app, write one to four lines about what matters tomorrow. Press Ctrl+Enter or click Hand off. The window closes. You're done.
Morning — open the app. Your note from last night is there. Read it. Click Got it. The window closes. Begin.
That's the whole loop. One write, one read, every day.
A few things worth knowing:
- Notes are capped at four lines. This is intentional. If you try to write a fifth line, the app gently reminds you not to overcommit.
- If you hand off again the same day, your earlier note is updated — not duplicated. The archive stays clean: one entry per day.
- All data is stored locally at
~/.handoff/entries.json. Nothing leaves your machine.
Click the archive icon (bottom-left of the main screen) to browse past evening entries in reverse order. You can clear the archive from within the archive view — it asks you to confirm twice.
A few small touches are built into the experience:
- Frog — the 🐸 next to your morning note is a nod to Mark Twain: eat the frog first. Hover over it to be reminded.
- Friday send-off — the button changes on Fridays.
- Streak — show up consistently and something quiet appears in the corner. It grows over time.
- Late night mode — write after 11pm and the app notices.
- Sunday acknowledgement — the app recognises when you're working on a Sunday.
There are more. They're not listed here on purpose. They're meant to be discovered, not documented.
- Node.js 18 or later
- Rust (stable toolchain via rustup)
- On Windows: the Visual C++ Build Tools (if not already installed)
# 1. Install frontend dependencies
cd handoff
npm install
# 2. Run in development mode (hot reload)
npm run tauri dev
# 3. Build production installer
npm run tauri buildInstallers will be output to:
handoff/src-tauri/target/release/bundle/
nsis/Handoff_1.0.0_x64-setup.exe
msi/Handoff_1.0.0_x64_en-US.msi
- Tauri v2 — native shell, system tray, global shortcut, file system access
- React 18 + Vite 5 — UI
- Vanilla CSS — no UI framework
- Literata (Google Fonts) — the serif typeface
Entries are stored as an append-only JSON file at %USERPROFILE%\.handoff\entries.json. Each entry has a timestamp, a type (evening or morning), and content. Morning entries have no content — they only record that you acknowledged the note.
You own the file. Back it up, read it, delete it. The app will start fresh if it's missing.
Most productivity tools are built around capture, organisation, and retrieval. Handoff is built around none of those things.
It has no search. No tags. No reminders. No streaks dashboard. No settings.
What it has is a question at the end of the day — what matters tomorrow? — and an answer waiting for you the next morning.
The constraint is the feature. Four lines is enough. One note is enough. Showing up every day is enough.
Built with Tauri, React, and the belief that the best tools get out of the way.
This project was built by a human and a robot, working together.
Bugra Stemkar brought the idea, the taste, the decisions, and the direction. Claude (Anthropic's AI, the robot 🤖) brought the code, the specs, and the implementation — across UI design, UX interaction flows, frontend development, and everything in between.
The whole thing was developed iteratively using Claude Code — a pair-programming workflow where the human steers and the AI builds. No boilerplate copy-pasted from Stack Overflow. No Figma files handed off to a dev team. Just a conversation that turned into a shipping desktop app.
Human: 💡 → direction, taste, feedback, decisions
Robot: 🤖 → code, design specs, UX flows, implementation
Result: 🚀 → Handoff
Proof that the best tools really do get out of the way — including the ones doing the building.