EEEddieEzekiel
Software Developer · Kenya

I'm Eddie, a software developer in Kenya. I build web applications and information systems for organisations whose work has outgrown the spreadsheet. Most of my projects start with a process someone is still doing by hand.

“The fight is won or lost far away from witnesses, in the gym, long before the bell rings.”

Muhammad Ali
Next.js★TypeScript★Supabase★PostgreSQL★Python★Since 2016★
Information systems★Web applications★Workflow automation★Data & reporting★Dashboards & portals★Built in Kenya★
Selected work

Work I'd put my name on.

These are the projects I would show anyone first. Each one started with a problem that was being handled badly, usually by hand.

usalama-voice.com
Usalama Voice — Home
Usalama Voice — Learning Hub
Usalama Voice — Mwananchi Portal

Gender-Based Violence Response

Readying for pilot

Usalama Voice

Help for survivors of gender-based violence is spread across many organisations, and none of them sees the whole case.

A platform that keeps a survivor’s case connected from the first call for help through to recovery, with a separate workspace for each kind of responder.

  • Role-Based Access
  • Sensitive Data
  • Emergency Workflows
  • Offline-First PWA
  • English & Kiswahili
  • Multi-Stakeholder Systems

Next.js 16 · TypeScript · Supabase · PostgreSQL · Tailwind CSS · Africa's Talking · Resend · Upstash Redis · Vercel · PWA

lughakonnect.co.ke
LughaKonnect — Home
LughaKonnect — Multi-Language Dictionary
LughaKonnect — Translator

Language Data · Open Corpus

Live

LughaKonnect

Most of Kenya’s languages have very little written down online, which leaves speakers and translation tools with almost nothing to work from.

A community-built dictionary and translation platform for Kenyan languages, with moderation and verification built in.

36Languages

  • Data Architecture
  • Multilingual Search
  • Moderation & Verification
  • Community Contribution
  • Bulk Data Pipelines

Next.js · TypeScript · React Hooks · Supabase · Python · Node

postkonnect.vercel.app/capture
PostKonnect — Create
PostKonnect — Brand

Communications · AI Workflow

Live

PostKonnect

Small teams with something worth sharing still have to rewrite it for every platform, then remember to post it.

A social media desk. You add a story or a photograph, and it drafts a post for each channel. Nothing is published until someone approves it.

  • AI Integration
  • Human Approval
  • Privacy by Design
  • Consent Management
  • Scheduling & Dispatch

Next.js · TypeScript · Supabase · Gemini API · MediaPipe · Make · Vercel

What I actually do

Sometimes you don't need another website.

An organisation that asks me for a website is often asking for something else. The website is the part of the problem they can see. Behind it there is usually a spreadsheet or a WhatsApp group doing far more work than anyone intended, and that is where I prefer to begin.

You’re Living in Spreadsheets.

Most spreadsheets start as a simple list. Over time they become the organisation’s real records, and usually only one person fully understands them. I can turn that into a proper application without losing what the sheet already does well.

See: DukaKonnect · RentKonnect

The Same Work Gets Done by Hand Every Week.

Some repetitive work needs a person’s judgement, but a lot of it does not. I help separate the two, then automate the part that doesn’t need you.

See: PostKonnect · daftari

Your Real Records Live in WhatsApp.

Payment confirmations and orders tend to sit in chats that nobody can search or total. I have built tools that read those chats and turn them into proper records.

See: daftari

Your Information Is Scattered.

When information lives in inboxes and in people’s heads, it is usually only missed once someone leaves. A searchable database or an internal portal often helps more than a new website.

See: LughaKonnect · Usalama Voice

Your Website Can’t Keep Up with Your Work.

If changing a sentence on your website means calling a developer, the sentence rarely gets changed. I build sites on an admin your team can run themselves.

See: Cheche Za Nuru Foundation · Golden Eagle Insurance Agency

You’ve Outgrown Your Tools.

There is seldom a good reason to rebuild everything at once. I would replace the weakest part first and leave the rest until it is needed.

See: Usalama Voice · DukaKonnect

How I work

How a project tends to go.

01

Talk it through

Before writing any code, I want to understand the problem properly, so I ask a lot of questions. Sometimes the honest answer is that you don’t need new software at all, and I would rather say so early.

Start with the project brief
02

Map it out

I sketch the structure and the main screens first. Changes are cheap at this stage and expensive later.

03

Build in the open

I work in short cycles. At the end of each one, there is something you can open and try.

04

Ship, then stick around

Most real problems show up a few weeks after launch, once people start using the system properly. I stay on for that.

From the notebook

Recent writing.

Building Usalama Voice

8 Jul 2026

Building Usalama Voice

What I learnt building a platform for gender-based violence response in Kenya, mostly the hard parts.

Case study · Usalama Voice · Next.js

Design playground

See it before we build it.

Few people can describe the look they want, but most recognise it when they see it. The playground lets you adjust colours and fonts until something feels right. Save a snapshot and send me the link. We can start from there.

The stack

What I actually build with.

These are the tools I use from week to week.

Backend

✨JavaScript
🐍Python
🟢Node.js
🗄️SQL

Frontend

⚙️TypeScript
⚛️React
▲Next.js
🎨Tailwind CSS
🎨CSS

Tools

📦Git
🐘PostgreSQL
🟢Supabase
⚡Vercel
Got something in mind?

Tell me what isn't working.

Describe the problem as it is, even if it's messy. I'll come back with how I would approach it and what it would take.