Cute, pinnable todo cards for your Windows desktop.
TodoPin lets you create lightweight, frameless todo cards that float on your desktop. Pin them anywhere, customize colors, and keep your tasks always in sight. Built with Tauri v2, Svelte 5, and Rust.
Grab the latest installer from the Releases page:
TodoPin_x.x.x_x64-setup.exe — NSIS installer (recommended)TodoPin_x.x.x_x64_en-US.msi — MSI installerPrerequisites:
git clone https://github.com/bahri-hirfanoglu/win-todopin.git
cd win-todopin
pnpm install
pnpm tauri build
Installers will be in src-tauri/target/release/bundle/.
The manager window is your central hub for managing all cards. From here you can:
Each card is its own frameless window. You can:
All shortcuts are global (work even when TodoPin is not focused) and customizable in Settings:
| Default Shortcut | Action |
|---|---|
Ctrl+Shift+S |
Show all cards |
Ctrl+Shift+H |
Hide all cards |
Ctrl+Shift+N |
Create new card |
Ctrl+Shift+M |
Open manager window |
Choose an app theme from Settings to change the overall look:
| Theme | Style |
|---|---|
| Default | Soft pink/purple gradients |
| Windows | Fluent Design with blue accents |
| macOS | Clean, minimal with system blue |
| GitHub | Dark mode with green accents |
| Nord | Cool blue-gray palette |
| Dracula | Dark purple with vibrant accents |
| Layer | Technology |
|---|---|
| Backend | Rust + Tauri v2 |
| Frontend | Svelte 5 + TypeScript |
| Bundler | Vite |
| Styling | Vanilla CSS with CSS variables |
| Storage | JSON file (atomic writes) |
| Icons | Programmatically generated |
TodoPin uses a multi-window architecture:
State is managed in Rust with thread-safe locking (parking_lot::Mutex) and a background persistence thread that writes to disk every 500ms when changes are detected (dirty flag pattern).
See CONTRIBUTING.md for development setup and guidelines.