v0 Starter Kit
Ships with a 4-generation data model, tree + list views, member CRUD, an AI chat agent with five live tools, and a zero-dependency reactive store. Clone it, add your family, deploy.
Multi-generation tree rendered with recursive TreeNode components. Roots with spouses are co-located; children cascade down. Supports search highlighting.
Alternative flat view of all members with gender chip filters. Each card links to the member detail panel. Toggle between tree and list from the filter bar.
Floating chat panel wired to AI SDK 6 + Vercel AI Gateway. Five client-side tools: addFamilyMember, updateFamilyMember, deleteFamilyMember, setRelationship, listFamilyMembers.
Zero-dependency state via useSyncExternalStore in lib/family-store.ts. Exports addMember, updateMember, deleteMember, and relationship helpers. No Redux or Zustand needed.
Add or edit any member: name, gender, birth/death year, bio, parents, and spouses. Dropdown selects pull from live store data. Bidirectional spouse linking on save.
Each FamilyMember holds parentIds[] and spouseIds[]. Helper functions getChildren, getParents, getSpouses, getSiblings derive all relationships on the fly.
Gender filter chips (All / Male / Female) and Tree/List toggle in the filter bar. Single selected chip click deselects and reverts to "all". Stateless, no URL params.
Removing a member cascades: their ID is purged from all parentIds and spouseIds across the store. Confirm dialog prevents accidental deletions.
The /api/chat route uses streamText with five Zod-validated tools. All tool execution runs client-side via onToolCall — the server never touches the store.
What it doesn't do yet, but is on the roadmap.
Swap the in-memory store for Supabase or Neon so data survives a refresh.
Login flow so different family members can each edit from their own device.
Profile photos per member via Vercel Blob or S3, replacing the initial avatars.
GEDCOM file import and JSON export so you can bring in existing genealogy data.
Horizontal timeline that plots members by birth year for a chronological perspective.
Type two names to see the path between them (e.g. "second cousin once removed").
Export the tree view as a high-res SVG or PDF for printing and framing.
Full dark theme toggle using the existing dark design tokens in globals.css.