Use cases
Four households, one primitive.
Nooks is one list, shared four ways. The shape of the work changes; the thing you are looking at does not.
The shared house
One instance on a machine in the hallway, one list per room or errand, and a printed sheet on the fridge that matches what is on the phone.
- Groceries with quantities that read as a person wrote them — “1 kg”, “a bunch” — rather than a number and a unit somebody had to pick
- Chores split between the people who live there, with the history saying who actually did it
- A read-only link for whoever needs to see the list without having an account on your server
Self-hosters
One Go binary and one file. Nothing to keep an eye on beyond the backup you already run.
- SQLite by default, Postgres when you want it, and the suite runs against both
- Reverse-proxy friendly, with live updates over one long-lived connection rather than polling
- No telemetry, no outbound calls, no licence server — and export is the database file itself
Small teams
Lists that are genuinely lists: stock to reorder, a run of checks, things to bring to the site. Not a tracker pretending to be one.
- Groups grant access to a set of lists at once, without becoming a hierarchy to maintain
- Print a run sheet that is legible at arm’s length, with a real checkbox and three blank rows
- Every action available over REST, so whatever you already run can drive it
Building on it
Everything the interface does is an endpoint, and the reference is generated from the same definitions the server is built from.
- Bearer tokens scoped to named lists, with read, write and delete as separate abilities and an expiry
- An MCP server that reaches exactly what the token reaches, with every change attributed to it
- A check in CI that refuses an endpoint which ships to the browser only