To Do List
Projects is a local-first desktop application for developers who want a lightweight, focused way to manage side projects and in-progress work. Instead of a generic todo app, it is shaped around how I actually work: one workspace per project, a clear split between active and completed tasks, and a notes area for ideas that do not belong on the task list. Everything runs offline. Tasks, notes, and project metadata live in a SQLite database on disk. No accounts, no sync, no network calls.
What it does
- Project hub: create and browse projects, sorted by most recently opened
- Task management: add, edit, complete, undo, delete, and drag-reorder tasks
- Project notes: separate notes stream per project, distinct from tasks
- Cursor integration: map projects to local folders and open them in Cursor with one click
- Interactive guide: a polished onboarding tour that requires the user to perform each action before advancing
- In-app README: built-in documentation covering architecture, data storage, and build instructions
Technical highlights
- Electron 35 with a frameless, platform-aware window (hidden title bar on Windows/macOS)
- better-sqlite3 with WAL journaling and foreign-key constraints
- Secure renderer: context isolation, strict Content Security Policy, no Node integration in the UI
- Vanilla JS / HTML / CSS: custom animations, modal system, and tour logic without a frontend framework
- Cross-platform packaging: portable .exe, macOS .dmg, Linux .AppImage and .deb
- CI/CD: GitHub Actions matrix build across Windows, macOS, and Linux
Why I built it
I wanted a todo tool that matched my workflow as a developer: fast to open, keyboard-friendly, tied to real project folders, and completely under my control. Building it also let me practice the full stack of a small desktop product — database schema, IPC bridge, packaging, and UX polish — in a focused, shippable scope.
Highlights
- Local-first SQLite storage: your data never leaves your machine
- Project-based task lists with done / to-do sections
- Drag-and-drop task reordering
- Inline editing for tasks and notes
- One-click Open in Cursor for linked project folders
- Interactive hands-on onboarding tour with spotlight UI
- Cross-platform desktop builds (Windows, macOS, Linux)
- Automated release builds via GitHub Actions
Stack
Desktop
- Electron 35
- electron-builder
Frontend
- Vanilla JavaScript
- HTML
- CSS
Data
- better-sqlite3 (SQLite + WAL)
Security
- contextBridge IPC
- CSP
- no network
CI/CD
- GitHub Actions (Windows / macOS / Linux)
Built in a single focused session using Cursor for rapid iteration, with follow-up passes on the interactive tour, animations, and cross-platform packaging.
Next Project