Companion
Local-first, chat-style task manager with encrypted sync
Task management that feels like texting a friend: type "fix bug deadline tomorrow" and Companion extracts the task, deadline and tags while keeping the conversation intact. The primary server runs on your own machine with SQLite, so everything works offline with zero latency; an optional cloud server syncs end-to-end-encrypted changes across devices.
- My role
- Product concept, architecture, Go backend & terminal client
- Stack
- Gochi routerSQLitePostgreSQLWebSocketJWTBubble Tea (TUI)React + ViteIndexedDBE2E encryptionMinIO
Architecture
overview
Highlights
- Local-first by design: the source of truth is a single SQLite file on your machine — offline, instant, easy to back up.
- Natural-language parsing turns casual messages into structured tasks, deadlines and emoji tags without forms.
- Sync protocol built for an untrusted server: encrypted blobs, content hashes and per-entity versions, with conflict detection so devices converge.
- Two clients over the same API: a web UI and a full keyboard-driven terminal chat built with Bubble Tea.
Curious how this would fit your team?
Ask me anything about Companion — I reply personally.