The Challenge
The “Static Poster” Limitation
Traditional genealogy tools output static, often unreadable PDFs. They fail to capture the living connections or provide a way to easily navigate vast lineages across multiple generations.
Complex Kinship Logic
Calculating relationships like “second cousin once removed” manually is error-prone. We needed a system that could traverse a complex relational graph to provide instant, accurate clarity.
The Solution
Horizontal D3.js Engine
Engineered an interactive D3.js horizontal tree that allows for smooth panning, zooming, and generation filtering. This solves the “vertical clutter” problem, making even 8+ generation lineages accessible.
Intelligent Traversal Algorithm
Built a custom TypeScript recursive algorithm that identifies common ancestors and calculates the exact kinship between any two individuals within the database.
Heritage Analytics & Storytelling
Transformed raw data into narratives through an analytics dashboard. The system tracks demographics and longevity trends, while the “Family Pulse” calendar automates remembrance anniversaries.
Technical Impact
Story-Driven Data
Moved beyond record-keeping to storytelling. The platform makes family history maintainable and engaging for younger generations.
Graph Integrity
100% type-safe data flow from Prisma schemas to D3.js node mappings, ensuring that complex multi-partner and generational relationships remain stable.