Settings screen with data export and app options
The community build exports your data on-device — CSV and PDF. (Synthetic data.)

The version I run for myself uses the cloud — sync, an AI assistant, a Sheet for my clinical team. Not everyone wants that, and not everyone should have to. So the same Flutter codebase builds a second flavour.

What the community edition drops

Behind a build flag, the community version is fully local-first: data lives on the device in a local store, there's no cloud, no sign-in, no account to create. You install it, you start logging. Nothing leaves your phone unless you choose to send it.

What it keeps

It keeps the part that matters — the daily tracking loop — and adds on-device export to CSV and PDF, so you can hand a clean record to your own clinical team without any of my infrastructure in the middle. There's a distributable APK and a web build.

You can try the web build right now: homehd-community.web.app. Nothing you enter leaves your browser.

One codebase, two products, switched by a flag. The work is in keeping the boundary clean: the cloud features sit behind interfaces, so the local build simply doesn't wire them up. No forked code to maintain.

Why bother

Partly engineering discipline — if a feature can be cut by a flag, your boundaries are honest. Mostly, though: I had to build the tracking part anyway, and giving it to other people in the same situation costs me a build target, not a rewrite. That's a good trade.