Mission Control: Self-Hosted Project Tracker
A multi-project tracker with no framework, no packages, and no SaaS, which still gives you real accounts, cross-device sync, GitHub backups, and an infinite whiteboard.
The problem
Project trackers make you choose: pay a subscription and hand over your data, or self-host something heavy that needs a database server and a free weekend. Either way, most of them stop working the moment your connection drops.
Who it’s for
One person moving between a phone and a laptop, or a small team that coordinates who’s editing. Both want their project data on infrastructure they control.
How it works
Projects, phases, tasks with dependencies, and deadlines, across seven views: a dashboard that surfaces blocked and overdue work, a kanban board, a timeline, a dependency graph, a daily planner, and a whiteboard.
Durability is layered. The working copy lives in the browser, so the app runs with the network off. Signed in, edits sync across devices on their own. Independently of that, timestamped snapshots commit to a private GitHub repo, so your history survives even if the server does not.
Decisions worth naming
- No dependencies on either end. The frontend is plain JavaScript with no build step and the backend is a single file on the standard library, and it still does real accounts, sessions, and storage.
- Honest about its limits. Sync is last-write-wins, which is right for one person across devices and wrong for two people editing at once. The docs say so plainly.
- The whiteboard is built from scratch, with ten tools, sketch-style strokes, and undo/redo. No third-party editor, no license, no watermark.