8 July 2026
LughaKonnect, a Home for Languages That Barely Exist Online
Case study · LughaKonnect · Next.js · Supabase

Kenya has more than forty languages, and most of them barely exist online. Kiswahili and English are everywhere. Try looking up a word in Kuria or Pokot, though, and you will usually come up empty. LughaKonnect is my attempt at changing that, one entry at a time.
It is a dictionary built by the people who speak the languages. Anyone can add a word or a phrase, and a reviewer checks it before it counts. It covers 36 languages today, some of them far better than others.
Letting Anyone Contribute
A dictionary is easy to picture and deceptively hard to build well. Storing a word next to its meaning is the small part. What kept me up at night was the crowd. Crowdsourcing is the only way a project like this reaches real coverage, since no small team could document forty languages by itself. The moment anyone can add a word, though, you also invite honest mistakes and arguments over dialect. Every so often somebody just wants to see what happens.
Nothing goes straight into the dictionary for that reason. A speaker adds an entry, and a reviewer with standing in that language checks it before it is trusted. I've made my peace with the disagreements. Two speakers from neighbouring villages will often say the same thing differently, and I'd sooner that was settled in the open.
The Bridge Languages
Every entry has to link to English or Kiswahili. I worried at first that the rule was too restrictive. In practice it means Dholuo and Kikuyu can be translated through Kiswahili, even when nobody has paired the two directly. I think of the bridge languages as a roundabout that every road passes through.
Where the Effort Goes
The site shows which languages have the fewest entries and nudges contributors towards them. It's a small decision, and one I'm rather proud of. Kiswahili doesn't need my help. A language with a handful of entries and fewer speakers every year is where one afternoon of work actually moves something.
Under the hood it is Next.js and TypeScript, with Supabase and Postgres holding the entries and running the review workflow. The database itself enforces the bridge-language rule. Python and Node do the less glamorous corpus work, which is mostly importing and shaping language data before it reaches the site.
Phrases come next, then phrase packs that give a word some context. Eventually I'd like it to hold the stories a bare definition can't carry. That is a long way off, and I'm not yet sure what it will look like. It's the part I care about most, though.