Atekerin — The Digital Hearth of the Ateker People
Inspiration
Among the Ateker peoples of East Africa — the Iteso, Karamojong, Turkana, Jie, Dodoth, and others — lineage is identity. Knowing your tribe, clan, house, and family isn't trivia; it's how you understand who you are and where you belong. But this knowledge lives almost entirely in the memories of elders, passed down through oral tradition. When an elder dies, entire branches of a family tree can be lost forever.
I built Atekerin because I watched this happen. I saw younger generations unable to trace their roots past a grandparent, unable to name their clan totem, unable to explain the migration stories that defined their people. The urgency was clear: if we don't digitize this knowledge now, with the elders who still carry it, it will vanish within a generation.
What I Built
Atekerin is a digital ancestry, lineage, and cultural knowledge platform purpose-built for the Ateker peoples. It is not a generic genealogy tool — it mirrors the actual social structure of the Ateker: Tribe (Ateker) → Clan (Eitela) → House (Ekek) → Family (Ekale) → Person.
Core Capabilities
Structured Lineage Management — Full hierarchy from tribe down to individual, with support for marriages, sub-families, wife ancestry tracking, and branches. Interactive Lineage Trees — D3.js-powered visual family trees that let users navigate ancestry interactively. Cultural Wiki — A community-driven knowledge base for clan histories, origin stories, traditions, and notable figures, with revision tracking, categories, tags, and contributor attribution. AI Archivist — A RAG-based AI assistant that answers questions about heritage using only verified library and cultural records, always with citations. No hallucinated history. Elder-Approved Governance — Role-based access control with approval workflows, audit logs, and verification gates. Elders and clan heads remain the authority — AI is advisory only. Public Explore Pages — Browse tribes, clans, houses, families, people, and wiki articles without needing an account. Gallery & Media — Photo galleries for tribes, clans, houses, and families. Notification System — Configurable alerts for lineage updates, wiki edits, approval requests, and access changes.
How I Built It
Backend: Laravel 12 with Inertia.js serving as the bridge to a React 19 frontend. I used Laravel Fortify for authentication (including two-factor auth) and a custom RBAC system with granular permissions at every level of the hierarchy.
Frontend: React with TypeScript, Tailwind CSS 4, Radix UI primitives, and Framer Motion for animations. We used D3.js for interactive lineage tree visualizations and CKEditor for rich-text wiki editing.
Data Model: 50+ database migrations modeling everything from the core hierarchy (Atekers, Clans, Houses, Families, Persons) to governance (Roles, Permissions, Approval Workflows, Audit Logs) to cultural knowledge (Wiki Articles, Categories, Tags, Revisions, Embeddings, Cultural Records, Library Items).
AI Layer: Gemini-powered AI Archivist using RAG with pgvector embeddings over verified wiki articles and cultural records. The AI is scoped — it can only access verified, approved content and must cite its sources.
Governance: A multi-tier admin system (Super Admin → Ateker Admin → Clan Admin → House Admin → Contributor) with clan membership verification, lineage access requests, and elder-approved content workflows.
Gemini Integration
Gemini is the intelligence layer that transforms Atekerin from a static database into a living, queryable archive. We use two Gemini 3 features as the foundation of the AI Archivist:
Gemini 3 Pro (gemini-3-pro-preview) for Conversational Reasoning — The Archivist uses Gemini's chat API with system instructions to act as a culturally-aware heritage researcher. When a user asks "Who are the clans of the Iteso?", Gemini doesn't answer from its training data — it reasons over structured JSON retrieved from Atekerin's verified records, producing grounded, citation-backed responses. We use low temperature (0.3), safety filters, and a strict system prompt that forbids fabrication: the AI must only use data explicitly provided to it and must clearly state when information is missing. Conversation history is maintained so users can ask follow-up questions naturally.
Gemini Embedding API (gemini-embedding-001) for Semantic Search — Every published wiki article is embedded into a vector using Gemini's embedding model and stored alongside the content. When a user queries the Archivist, their question is also embedded, and we perform cosine similarity matching against the article vectors to find the most relevant cultural records. This semantic retrieval is the "R" in our RAG pipeline — it ensures the AI receives contextually relevant sources rather than relying on brittle keyword matching alone.
Together, these features make Gemini central to Atekerin's mission: preserving oral heritage in a format that is searchable, verifiable, and always grounded in elder-approved knowledge.
Challenges I Faced
Modeling real-world social structures is hard. The Ateker kinship system doesn't fit neatly into Western genealogy models. We had to account for polygamous families, wife ancestry tracking, sub-families, branches within houses, and the distinction between patrilineal and matrilineal connections — all while keeping the UI navigable. Authority and trust. The biggest design challenge wasn't technical — it was cultural. I had to ensure that elders and clan heads retain authority over what gets published. Every piece of data flows through verification workflows. AI never publishes autonomously. Balancing openness with privacy. Some lineage information is sensitive or sacred. We implemented configurable visibility at every level, consent-based access for personal records, and lineage access request workflows so families control who sees their data. AI accuracy on cultural content. Off-the-shelf LLMs know very little about Ateker cultures. We had to build a RAG pipeline that grounds the AI strictly in verified local records, and we added citation requirements so users can always trace an answer back to its source. Scope. Atekerin serves multiple tribes, each with dozens of clans, hundreds of houses, and thousands of individuals. The data model had to be flexible enough to grow without becoming unmanageable, while the UI needed to remain usable for elders who may not be tech-savvy.
What I Learned
Technology is only useful if the community trusts it. The governance and verification layer is arguably more important than the AI features. Without elder buy-in, the platform is just an empty database. Cultural software requires cultural design. Generic UI patterns don't work when you're modeling sacred knowledge. I learned to let the culture shape the product, not the other way around. AI works best as a librarian, not an author. By constraining the AI to only cite verified records, we turned a potential liability (hallucinated history) into a strength (an always-available, citation-backed research assistant). Start with the hierarchy. Getting the Tribe → Clan → House → Family → Person model right was the single most important decision. Everything — access control, wiki scoping, AI retrieval, navigation — flows from that structure.
Log in or sign up for Devpost to join the conversation.