Skip to main content
Back to projects

Whakapapa

Family history software built around source material

2025 — Present · in development
Live site
Next.js 16SupabaseClaude APITesseract.jsReact FlowdagreFramer Motion

Ownership

Solo Designer & Developer

Key fact

Review gate: Human approval

Whakapapa

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.

Get in touch

Want to talk about similar work?

Next project

Dayle Palfreyman