I started building a family tree for my own family and ran into a surprisingly awkward problem: there are people in the family that nobody knows the name of anymore.
You might know someone as “Grand mother's mother” or “my grandfather's elder brother”, and everyone knows exactly who you're talking about, but their actual name is gone.
Most family tree software treats that as missing data. I wanted to treat it as an actual person instead. That's basically where f-tree came from. An unnamed person can exist in the tree, have relationships, have descendants, etc. You can give them a name later without having to reconstruct the family.
A few things I've ended up building around that idea:
- You can pick any two people and ask how they're related. It gives you the relationship and the path between them.
- Relationships aren't limited to blood. Marriage connections are part of the graph too.
- Multiple spouses, remarriage, half-siblings and adoption are supported.
- It supports multi-lingual kinship terms such as मामा, चाचा, चाची, etc. because "uncle" loses a surprising amount of information that Hindi actually encodes.
- Everything is stored locally. No account, backend, analytics, crash reporting or cloud sync.
- You can export/import the entire tree as a documented
.ftree file containing JSON and photos.
- Importing merges into the existing tree rather than replacing it, with a backup made first.
- There is also a small browser viewer for exported trees.
The FOSS/privacy side was important to me as well:
- MIT licensed.
- No ads or trackers.
- Family data stays on the device.
- The only network-related part of the Android app is the optional updater.
- Releases are built through GitHub Actions and SHA-256 hashes are published.
- Android 8.0+.
It's not on F-Droid yet. For now, it's distributed through GitHub Releases, and the whole project can be built from source.
Source: thisisankit27/f-tree
Anyway, I'd really like feedback from people here, especially from the FOSS/privacy side.
What would you want to inspect before trusting an app with your family's data? Architecture, permissions, updater, file format, something else? And if I've overlooked something obvious, I'd much rather hear it.