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.