Why I'm building Domi
Two weeks ago I was halfway through the family taxes when my phone buzzed: “Your auto insurance renews tomorrow.” I had a vague memory of getting that email three weeks earlier. I’d meant to compare quotes. I’d put it on a list somewhere. The list was, of course, in the wrong system, scrolled past three days ago, and now I had until 11:59 PM the next night to renegotiate or auto-renew at the rate I’d quietly meant to challenge.
That moment isn’t unusual. It’s the texture of running a household. Insurance renewals, tire changes, vaccine schedules, expiring credit-card rewards, the mortgage rate that resets in fourteen months, the boat motor that needs an inspection before launch. Each item, in isolation, is small. The work is in remembering all of them at the right cadence — and the work compounds, because you also have to remember what you remembered to put on which list, in which app.
I’ve been a software engineer for a long time. I’ve tried Calendar, Todoist, Notion, dashboards in spreadsheets, Apple Notes, Apple Reminders even a full Trello board. Each one solves one slice. None of them solve the actual problem, which is this: the cognitive load of running a household is not a productivity problem. It’s a knowledge problem.
Productivity tools assume you’ve already done the hard work — captured the obligation, scheduled it, tagged it, decided it matters, understand what is important vs urgent. That’s the work I want to disappear. The reminder that auto-renews tomorrow doesn’t need a checkbox; it needs a system that read the original email three weeks ago, knew what kind of obligation it represented, knew that I, specifically, like to compare quotes annually, and surfaced “you have one week left to do that” exactly when one week was left.
That kind of system needs three things calendars don’t have:
- A way to ingest the messy artifacts real life produces — scanned bills, photos of the boiler nameplate, the PDF mortgage statement, the emails from the dealership or the schools for the kids.
- A knowledge graph that knows the relationships: this car belongs to this person, who lives at this address, which is heated by this boiler, which has a service contract with this company, which expires on this date.
- A predictive layer that knows the rules of the world well enough to say “given that this is true, here’s what you need to do next, and when.”
That’s what I’m building. The working name is Domi — codename only; the public-name decision is months away. The plan is roughly this:
- Solo build, ~6 months, ~10 hours a week. Twelve two-week sprints to V1.
- I’m the first user. My family’s data, my bills, my obligations. The success bar is that I end V1 saving real time on real life-admin. If I can’t, it’s not ready for anyone else.
- AI-native, but not AI-only. The ingestion layer is a vision-capable LLM, not a spreadsheet of regexes. The predictive layer is rules + LLM-generated drafts that I review before they fire. The knowledge graph is plain Postgres, not a graph database — Postgres is fine, and it lets me move fast on the parts that matter.
- Privacy is a hard constraint. This is family data. Encryption at rest from day one, with an architecture that keeps the door open to a zero-knowledge migration if I decide the trust story needs to be that strong before V2.
- Quebec first. I live here. The cadence rules — when garbage collection happens, when the SAAQ wants its money, when school registration opens — need to be right for one place, not vaguely right for fifty. The architecture supports more regions later. V1 has exactly one.
I’m writing this blog because I’ve started enough projects where a buried sprint diary would have been more honest than the eventual launch post. So here, you get the actual sequence of decisions, including the wrong ones. Once a sprint, on Sunday evenings, I’ll publish what I built, what I cut, and what surprised me.
This post lives at the end of Sprint 0 — the bootstrap. The repo exists, the workspace is wired up, CI is green, and tomorrow Sprint 1 starts: auth, tenant scoping, row-level security. The boring foundational layer that no demo screenshot ever shows.
If any of this resonates — if you’ve also spent a Saturday morning reconciling which utility bill went to which house — there’s nothing for you to do yet. There’s no waitlist, no email capture, no early-access page. Domi is being built for me, by me. If it works for me, the next post about it will be a very different one.
Until then, the only commitment is this: I’ll show my work.