My wife Oana is a neonatologist. I write software. When we became parents we wanted an app that was quiet at night, quick with one hand, and honest about what is normal. We could not find one without ads, streaks or a subscription wall in front of the safety content, so we built Enfold. Last week we made all of it public: https://github.com/enfold-baby/enfold
Why open source for a health app
A baby tracker holds health data about a child. Every app in the category says "we take your privacy seriously". We wanted a claim that can be checked instead of trusted:
- No ad SDKs, no analytics SDKs, no trackers. Read pubspec.yaml and the iOS and Android manifests.
- Without an account the data never leaves the phone. Read the sync layer; it does nothing until you sign in.
- With an account, data syncs over HTTPS to a small FastAPI backend you can run yourself.
Open source also lets clinicians check the content. Each learn card is a JSON file with a sources list. A unit test fails the build if a card ships without sources. Apple rejected one of our submissions under guideline 1.4.1 (medical content needs citations) and, honestly, that rule made the product better.
The stack
- Flutter, Riverpod, go_router, Drift (SQLite) for offline first storage, schema v14
- FastAPI, Postgres, Redis for sync, magic-code sign-in, partner invites and push
- A static site behind Caddy, docker compose for the lot
- 208 tests, GitHub Actions, Dependabot on minor and patch only
The license, and the carve-outs
This was the hard part, and I want to be plain about it.
- Code: AGPL-3.0-or-later. Copyleft, network clause included, so a hosted fork must publish its changes.
- App store covenant. A short addition in LICENSE-NOTES: if you ship a fork to an app store, rename it and replace the brand and illustrations first. We want forks, we do not want confused parents installing the wrong "Enfold".
- Learn cards: CC BY-NC-ND 4.0. Medical guidance should be quoted with attribution, not remixed. If you want to translate them, open an issue and we will do it with a clinician in the loop.
- Brand: not licensed. Name, logo, icons and two illustrations (which we will replace with original art).
- DCO, no CLA. Sign your commits, keep your copyright.
What is still not finished
- Per-card physician sign-off is in progress. Cards that have not been signed off say "Pending physician review" in the app.
- English only. Romanian is next, then whatever contributors bring.
- One child per device in the UI; the server already supports more.
- Google Play is still in review; the App Store version is live.
If you want to help
Translations first, then bugs, then features. CONTRIBUTING.md has the build steps; the backend and the app both run locally with one docker compose and one flutter run.
Site: https://enfold.baby. Repo: https://github.com/enfold-baby/enfold. If you are a parent, the App Store link is on the site. It is free and will stay free.
Top comments (0)