The manual your house never came with.
A slot — “there is a furnace” — is created by the property record or by you. A unit — “this Carrier, installed 2016” — is only ever created by you.
No fabricated equipment, and no claims about the age of a house whose build year is unknown.
Home maintenance for people who just got the keys and have no idea what a water softener wants from them. Behind it is a real rules engine: fifty-nine tasks with steps and safety notes, seasonal scheduling, renter routing, and regional modifiers — hard water shortens a flush cadence, freeze risk gates winterisation. Alongside it, an inventory of what is actually in the house: one page per thing, holding its make, model, age and jobs.
The task catalog is authored in Kotlin, validates itself on construction under roughly a hundred tests, and is exported to JSON by a test — so a change to a task’s wording shows up in a diff as a change to wording, and nothing else. The scheduling engine exists twice, in Kotlin and in JavaScript, and a fixture test proves the two agree rather than assuming it.
One implementation serves every surface. The phone layout and the desktop layout are the same file responding to width, and the Android app is a WebView onto that page plus the things only native can do — reminders, the camera, location.