Work / LegacyTree
LegacyTree
A family-history app with interactive trees, video-style profiles and a flow for linking separately built family trees, generated with an AI app builder.
What it does
LegacyTree is a genealogy app for building a family tree with relatives. Each person carries photos, dates, places, a biography and tags. The tree can be explored and opened into profiles, and the same family can be read as a timeline of births, marriages and deaths. Behind it sit accounts, shared editing, privacy settings and a Supabase backend. The app was generated with Lovable, an AI app builder; the estate's own addition is a GEDCOM parser.
- Explore a family tree as it grows in
- Open anyone's profile and play their introduction
- Match two separately built trees on the people they share
- Link them and see how any two relatives are related
How it works
The interface is React and TypeScript with Tailwind and shadcn/ui, and the backend is Supabase: Postgres migrations, row-level access and edge functions. Concurrent edits use optimistic locking, likely duplicate people are flagged before a merge, and media is served through signed URLs. The project's own status file records that the main application most likely came from Lovable before this estate's tooling existed, so it is shown for what it does, not as hand-written work. The GEDCOM parser reads the standard genealogy exchange format and ships with a fictional sample family.
Skills shown
- Data engineering
- A parser for the GEDCOM genealogy exchange format.
- Databases & SQL
- Supabase Postgres with migrations, row-level access and optimistic locking.
- APIs & backend
- Supabase edge functions and signed media URLs.
- Frontend, 3D & graphics
- React, TypeScript, Tailwind and shadcn/ui.
Worth knowing
- Interactive family trees whose members open into profiles with a video introduction, biography, favourite music and family links.
- Two trees researched separately can be matched on the people they share and linked, with the kinship path between any two relatives explained.
- Concurrent edits use optimistic locking, and likely duplicate people are flagged before a merge.
- Personal family exports are kept out of version control by rule.