
Summary
A private wiki for our home: meal plan, recipes, shopping list, calendar, smart home, energy prices, budget and documents, all in one place and running on our own machine.
Home Wiki is a private web app for our household. It collects the things we use every day, from the week's dinners and the shopping list to the calendar, lights and electricity prices, in one place. It runs on our own machine, with no cloud services, no analytics and no third-party scripts.
The challenge
Running a home involves a surprising number of apps: one for recipes, one for the calendar, one for the lights, a supplier's website for electricity prices, a folder somewhere with warranties and receipts. I wanted everything in one place, built around the features we actually use every day, and without handing our household data to yet another service.
Our approach
I built it step by step, one area at a time, so each part was useful on its own before moving on to the next.
Kitchen
Recipes with search, categories, portion scaling and variants. A week plan with one dinner per day. The shopping list builds itself from the plan, merges ingredients across meals and groups them by store section, so shopping follows the layout of the store.
Home
Encrypted storage for contracts, receipts, warranties and manuals, with reminders before something expires. A register of appliances with serial numbers and warranty status. Pages for renovation projects with budget against actual costs, paint colours and materials. Recurring maintenance tasks where the next due date is calculated for you. One search box covers all of it.
Calendar, smart home, energy and budget
- Calendar: syncs with iCloud over CalDAV, so new events show up on both our phones.
- Smart home: lights, scenes, speakers and TV are controlled through a local Home Assistant, organized by room.
- Energy: what electricity really costs hour by hour, with spot price, supplier markup, grid tariff and the Norwegian electricity support all included. It also finds the cheapest three-hour window ahead.
- Budget: every fixed payment by month and year. Due dates that fall on a weekend or public holiday move to the next bank day.
The home page pulls it together: the next payments, documents that are about to expire and quick light toggles for each room.
Private by design
Since the wiki holds personal documents and controls the house, security came first rather than last:
- It's only reachable on the home network. No ports are opened to the internet.
- Login is passkeys only (Face ID / Touch ID). There are no passwords and no sign-up, and accounts are created through one-time invite links.
- Documents and stored credentials are encrypted, and daily backups are encrypted with a passphrase.
- A strict Content Security Policy, and photos are re-encoded on upload so location data is stripped.
Stack
Next.js 16 with the App Router, React 19, TypeScript and Tailwind 4, with SQLite and Drizzle for data and SimpleWebAuthn for passkeys. It runs as background services on a Mac at home, behind Caddy for HTTPS.
The result
One place for the household, used every day, with the data staying at home. It also became a good playground for things I care about in client work: passkey login, privacy by default and building features around how people actually use them.


