Overview
I'm building Whakapapa as a family history app that starts from the source material families actually have, the documents, photos and recorded stories, and turns it into structured records and a tree you can explore.
The Challenge
Most genealogy tools are expensive, rigid and built around typing everything in by hand. I wanted capturing and reviewing sources to be the easy part, without ever asking anyone to trust raw AI output about their family.
Constraints
- •Trust is fragile with family history data, so AI output must stay reviewable and reversible.
- •Many source artifacts are low quality scans and handwritten notes.
- •The product needed to be viable for a solo builder and affordable for families.
How it works
Problem
AI extraction can hallucinate relationships.
Decision
Added a suggestion queue with explicit human approval before writing to the tree.
Tradeoff
Slightly slower ingestion versus fully automatic sync.
Impact
Nothing an extraction suggests reaches the tree until someone approves it.
Problem
Genealogy tools often bury stories under forms.
Decision
Made voice capture and story context first-class alongside people and dates.
Tradeoff
More schema complexity and moderation edge cases.
Impact
A recorded story sits beside the people and dates it mentions, not in a notes field.
Approach
1. Extract, then review
Users scan or upload documents, OCR extracts text, and an LLM returns candidate people, dates, places, and relationships for review before anything is written to the tree.
2. Capture stories by voice
The app includes voice recording and transcription so spoken stories can sit alongside documents and photos.
3. Keep stories on the tree
React Flow and dagre power the tree view, but the product is broader than a chart. Stories, documents, and media stay attached to the people they relate to.
4. Private by default
Family records are protected with Supabase row-level security, and AI suggestions require explicit review before they can change the tree.
Outcome
In development: a working prototype with document ingestion, a review queue, voice capture and a tree view. It hasn't been released.
At a glance
Human approval
Review gate
Documents + voice
Source capture
Private family records
Data model
Learnings
- →AI extraction needs a human review layer to be usable for family records.
- →Voice capture changes the value of the product because it preserves more than text alone.
- →Source material and context matter as much as entity extraction.
- →Supabase and Next.js made the solo build manageable without a separate backend service.
Anti-patterns avoided
- ×Auto-trusting AI inserts directly into canonical records.
- ×Forcing users into rigid, spreadsheet-like genealogy workflows.
- ×Locking export/import behind paid plans.
Next iterations
- →Confidence scoring and source-level reliability badges per extracted entity.
- →Guided interview flows optimized for elder story capture sessions.
Next project
Dayle Palfreyman