Krishna Nand Tiwari
See all posts

Kinship Family Tree

Kinship is a full-stack family tree mapping platform featuring an infinite panning and zooming vector canvas. It is designed to visualize complex lineage nodes clearly without overlapping, tracking member relationships, spouses, and descendants persistently.

Kinship Family Tree Landing Page

What it is

The family tree visualizer operates on an interactive canvas, allowing users to build large relational family networks. Instead of standard rigid tree lists, it features an infinite panning whiteboard workspace where marriage connectors and sibling rows auto-space dynamically as the tree expands.

Kinship Interactive Family Tree Canvas and Member Details

How it is built

Built with React (Vite) and React Flow for rendering vector nodes on a fluid canvas. Custom coordinate algorithms center spouse junctions dynamically and align sibling rows automatically. Relational database storage is handled by Supabase, utilizing Supabase Auth to protect private family charts.

// Calculate child-to-parents connector junctions
const getMarriageJunction = (fatherPos, motherPos) => {
  const middleX = (fatherPos.x + motherPos.x) / 2;
  const middleY = (fatherPos.y + motherPos.y) / 2;
  return { x: middleX, y: middleY + 40 }; // Center target point
};

Core Features

  • 🌳 Zoomable/pannable infinite React Flow workspace mapping family hierarchies.
  • 💍 Automatically centered marital connection nodes.
  • 📄 Export options to download family trees to PDF or PNG image layouts.
  • 💾 Relational persistence keeping tree member positions saved in database tables.

Technologies Used