My second practical project. Oral history disappears when older relatives die. Existing genealogy tools focus on DNA percentages and dates — they don’t capture the story of who someone actually was. And they don’t let multiple family members tell different versions of the same story about the same person.
The Problem
Every family has stories that exist only in one person’s memory. Existing tools — Ancestry, MyHeritage — are built around facts: birth dates, death dates, DNA. They don’t capture the conversation with your aunt about what your grandfather was actually like at 35. That kind of knowledge disappears in one generation.
What It Is
A text-first story capture app linked to a family tree. Each person is a node. Each node can have multiple leaves — stories from different storytellers, never merged into a single “official” version. A graph visualization shows the family network. Works offline at family gatherings where wifi is unreliable.
The point is engagement, not just archiving. You can hear what different people remember about the same uncle and map those memories back to the same node on the tree.
Features
- Family tree graph with people as nodes and relationships as edges
- Add person and add story flows in three taps
- Multiple-perspective story leaves per person (never merged)
- Offline-first via IndexedDB, syncs when connected
- Graph visualization via React Flow or D3
- Hosted privately for family access only
Stack
| Tool | Role |
|---|---|
| Vite + React + TypeScript | App UI |
| React Flow | Graph visualization |
| IndexedDB | Offline-first local storage |
| Supabase | Optional cloud sync |
| Cloudflare Pages | Hosting (family-private) |