Family Tree - Bloodline
An interactive family tree application with multi-generation support, member management and visual relationship rendering.

An interactive family tree web application with multi-generation support, member management and visual rendering of relationships.
PHP and MySQL.
What was in the way
Family history is a graph, not a list, and most people record it in a document that cannot show the shape of it.
A written record works for two generations. Past three it stops being readable. Nobody can hold the structure in their head while reading down a page, and the question people actually want answered, how am I related to this person, requires tracing a path that prose cannot show.
Then the awkward cases arrive and break the naive model. Remarriage means a person has two spouses at different times and children across both. Adoption means a parent relationship that is not a biological one. Incomplete records mean a person whose parents are unknown but whose children are not.
Any structure that assumes one marriage, two known parents and a complete record fails on a real family within about four generations.
Three parts, each with a reason
Multi-generation tree rendering
The relationships drawn rather than described, which is the entire point of a family tree.
The layout has to handle asymmetric branches: one sibling with six children and another with none, in the same generation, without either becoming unreadable.
Member management
Adding people, editing details and attaching them to the right branch without breaking existing links.
Editing is where most family tree software damages data. Changing one person's parent has consequences for everyone below them, and a system that lets that happen silently produces a tree nobody trusts.
Interactive navigation
Moving through generations rather than loading one enormous static image.
A complete tree rendered at once is unreadable and slow. Navigating from a person outward, one generation at a time, matches how people actually explore a family tree.
The engineering underneath
The interesting part is the schema rather than the interface.
People are the entities. Relationships are separate records rather than columns on a person. A parent link is a row connecting two people with a type, which is what makes adoption expressible: the relationship carries the nature of the connection rather than the person carrying two fixed parent fields.
Marriages are records with their own dates rather than a spouse field, which is how remarriage stops being a special case. A person can have several, ordered in time, each with its own children.
Incompleteness is the default rather than an error. A person with unknown parents is a valid record, not a broken one, because that is the normal state of a family tree more than a few generations back.
Getting this right at the schema level is what determines whether the application handles a real family. Storing a spouse and two parents as columns on a person is the obvious first design, it is simpler, and it cannot represent most families.
PHP with MySQL, deployed on its own subdomain.
Rendering is done client side from a data payload rather than server side into an image, so the tree can be navigated and re-centred without a round trip.
Conventional stack deliberately. A family tree is kept for decades, by people who are not technical, and it needs to still run on ordinary hosting in ten years.
PHP with MySQL. Hosted on its own subdomain.
Hire me for this
PHP & Laravel Source CodeFrom $14/hrFull-Stack Web DevelopmentFrom $14/hrProjects like this

Premier Metrics, Admin Dashboard
The office dashboard behind a mobile timer app. React and TypeScript on Vite with Supabase and Vercel: monthly...

Premier Timer, iOS and Android App
Taking over from a departing programmer: an unfinished React Native app rebuilt and shipped to the App Store...

Deeve Technologies Portfolio, Next.js Rebuild
This site: my portfolio rebuilt from a custom WordPress theme onto Next.js 16, React 19 and Supabase, with...
I build software, and I measure whether it works.
The same questions I research are the ones I ask on client builds: is it reliable, is it fast, is it easy to use, and is it secure. Those four drove satisfaction in my ICT portal study, and they shape how I scope and test every project.