點叫 DimGiu
PrototypeFamily / Culture
A private family map that tells you exactly what to call every relative — in Cantonese, from your seat at the table.
What it does
Every Cantonese family gathering has the same whispered question: 點叫呀 — what do I call them? DimGiu is a pan-and-zoom map of the extended family that answers it from your seat: pick who you are, and every relative on the map is labeled with the correct Cantonese term (姨丈, jyutping and all), computed live from nothing but parent and marriage facts. The same person reads 表哥 to you, 姨甥 to your aunt, and 孫仔 to your grandmother — switch viewers and the whole tree relabels itself.
Current features
- Viewer-relative kinship engine — objective family facts in, culturally correct terms out: 堂/表 lines, elder/younger, paternal/maternal, marriage-side terms, even viewer gender (外甥 vs 姨甥)
- Generative naming rules for distant relatives — 公/婆 generation suffixes, 堂/表 prefixes, 姪/甥 descent — honestly badged when a term is derived by convention rather than verified
- Pan/zoom generational map with clan clusters, claimed vs unclaimed profiles, and a red thread tracing exactly how you're connected to anyone
- Viewer-anchored layout — your married sister stays in your clan from your seat, and lives with her in-laws from theirs
- The live demo is a fictional family; real family data never leaves your machine
Tech stack
- React 19
- TypeScript
- Vite
- d3-zoom
What I learned
Cantonese kinship turns out to be a small formal system: generation, branch, relative age, and who's asking go in, one correct word comes out. The path-finding engine is a couple hundred lines — the real work was the terminology data, and being honest in the UI about which terms are verified and which are rule-derived.
What's next
- Verify the full term table with the family elders (the real authority)
- Traditional Chinese UI for the Hong Kong side of the family
- Invitations and profile claiming, so relatives can join and manage themselves
Build logs
點叫 DimGiu v0.1: never blank on 姨丈 again
An interactive family map that computes what to call every relative in Cantonese — from whoever's looking.