← Back to homeWant a Website?

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