A family hub: tasks, notes, calendar, money and a shared mailbox in one place. Built for a household, not a corporation: one Docker container, one SQLite file, no external services required. Run it yourself on a home machine or a cheap VPS, or let us run it for you at neiliro.com — same code, same file per family.
The core is complete and battle-tested by daily family use: accounts and sign-in (password and Google, with optional two-factor codes), projects and tasks with a kanban board, notes with attachments and wiki-links, a calendar with recurring events, shared lists for the shopping run, a shared family mailbox that turns letters into tasks, search, a home screen you arrange yourself out of widgets, and a money section — accounts with balances, expenses, income, transfers, bank reconciliation, categories, budgets, recurring transactions, receipts. It installs to the home screen as an app and keeps working read-only when the Wi-Fi does not.
What the family writes is encrypted in the browser with a family key the server never holds: the content of notes, tasks, events, list items, money notes, attachments and letters is stored as ciphertext, while dates, amounts and links stay readable so budgets, recurrence and reconciliation keep running on the server. Whoever holds a copy of the database — the operator of a hosted family included — sees who, when and how much, not what was written. The exceptions are deliberate and listed in ADR 0001: a letter is seen once on arrival before it is sealed, a wishlist is public by design, member names stay readable.
And on a phone, where it is installed to the home screen and the day starts with three one-tap actions:
The most common question in the feedback, in its three variants — answered honestly.
Why not Notion or Obsidian? Those are builders: a blank canvas and blocks, and the family system is yours to design, maintain — and teach to a spouse who never asked for a database course. Neiliro is the opposite trade: an opinionated finished product. Tasks, notes, calendar and money work a particular way out of the box, with the decisions already made. If you enjoy building your own system, a builder will genuinely serve you better; this is for families who want the thing, not the constructor kit.
Why not Google Keep + Calendar? For lists and dates it is honestly fine. The reason this project exists is money: shared accounts, budgets with limits, recurring payments and bank reconciliation are the core here, and no combination of Keep, Calendar and a spreadsheet does that as one coherent thing. There is also a quieter argument: the family archive — finances, receipts, private notes — lives in a SQLite file on your own machine, not in an advertising company's cloud.
Why not Nextcloud? Closest in spirit — self-hosted, your data. But Nextcloud is a platform: an app store, plugins with separate authors and separate bugs, and real administration overhead. Neiliro is one small app: one container, one database file, updates that take a minute. Privacy is structural, not a setting — "private" is enforced server-side per owner, and there is deliberately no admin backdoor to read someone else's notes (see architecture.md).
At home, with Docker:
cp .env.example .env
docker compose up -d --buildThe hub comes up on http://localhost:8787 and is reachable from other devices on the network by the machine's address. An empty hub offers to create the first account right in the browser — that account becomes the administrator; family members join via single-use invitation links. Data lives outside the project folder (~/.family-hub or the mounted volume), so updating the code never touches it.
Tagged releases publish a prebuilt multi-arch image (amd64 + arm64, so Raspberry Pi works) to GitHub Container Registry — point image: in the compose file at it to skip building:
docker pull ghcr.io/neiliro/neiliro:latest # or a pinned release: :2.0.1For development:
npm install
npm run devFrontend on http://localhost:5173, API on http://localhost:8787. Vite listens on all interfaces, so tablets and phones on the same network can open http://<machine-ip>:5173.
- Deploying to a VPS — from a blank Ubuntu
machine to
https://hub.example.com: server hardening, launch, backups, Google sign-in, a public demo, auto-deploy from GitHub. - Running on a home server — HTTPS on the
local network, the
.localname and Bonjour, updating, backups, moving to another machine. - Features — the walkthrough: accounts and invitations, tasks, notes, calendar, search, and the money section with its semantics (reconciliation, budgets, recurring payments).
- Family mail — connecting the shared household mailbox: a dedicated account or a corner of a personal Gmail behind a label.
- Architecture — the technical decisions: SQLite and migrations, local wall-clock time, money as integers, logging, how the demo sandboxes work.
- ADR 0001 — client-side encryption — why the words are encrypted and the structure is not, what the family key is, and the honest list of what stays visible.
- Checking the app you were served — the published hashes of every release bundle, how to compare them with what your browser loaded, and how to rebuild the list from the tag yourself.
The same image with HOSTED_MODE=true runs neiliro.com:
one subdomain and one SQLite file per family, nothing shared between
families. A family signs itself up from the landing page, gets 30 days
free without a card, then pays €4.99 a month or €44.99 a year; the
self-hosted version is free for good and ships from the same tag. The
control plane (Caddy with a wildcard certificate, backups, the operator
runbook) lives in a separate repository and is not needed to run the hub
at home.
DEMO_MODE=true turns the hub into a public sandbox where every visitor
gets a private throwaway copy of a seeded sample family — one button to
enter, no password, self-cleaning. Details in
architecture.md; deployment next to a production
hub in deploy-vps.md.
The roadmap lives where you can see and influence it:
- Roadmap board — Now / Next / Later at a glance.
- Releases — what landed and when.
- Issues — vote with a 👍 on what you want most; that is genuinely how things get prioritized here.
Want to contribute? CONTRIBUTING.md covers running it locally, the house conventions and the invariants worth knowing before you touch the money or the privacy code. Start with a good first issue — they are written to be picked up cold.
Coming up next: CSV bank-statement import, and reading the family mailbox from an ordinary mail app.
AGPL-3.0. Run it, change it, share it — but if you offer a modified version to others as a service, its source must be open too.