Skip to content

Work

Everything here, I built from schema to deploy.

Every one is deployed, open source, and running against real services. Filter by the stack you care about; each card opens a case study with the demo and the code behind it.

The index

Projects
8
Live demo
8 / 8
Case study
8 / 8

Showing 6 of 8 projects

Social2026

JamiiChat

Live feed, DMs and notifications over a socket that reuses the HTTP auth path.

A social platform for posting, following and talking in real time. Messages, typing indicators, presence and notifications arrive over a live socket connection, with no refresh, alongside threaded replies, reposts, hashtags, bookmarks and an admin moderation queue. Block, mute and private-account rules are enforced through one shared visibility check composed by every read path, so no call site can forget it.

Publishing2026

Devquora

Publishes real articles synced hourly from the dev.to API, alongside its own.

A developer blogging platform with markdown authoring, syntax-highlighted code, threaded discussion and role-based dashboards for readers, authors and admins. It does not open empty: an hourly job pulls live articles from the public dev.to API, and imported authors are embedded on the post and never stored as users, because someone who has never signed up here cannot own an account here. The sync runs detached from boot, so a slow upstream cannot keep the API from starting.

E-commerce2025

BazaarKE

Multi-vendor marketplace with M-Pesa, Stripe and PayPal checkout.

A multi-vendor e-commerce marketplace for Kenya, where vendors run their own storefront, orders and customer questions while admins run the platform. Shoppers browse roughly 900 real products across six categories, priced in KES, and check out through M-Pesa, Stripe or PayPal behind a single order flow.

Consumer / Games2025

TriviaKE

Arcade trivia game on PostgreSQL, with its own auth and a live leaderboard.

An arcade-style trivia game about Kenya, covering Geography, History, Culture, Wildlife, Sports and Economy across five levels of escalating difficulty, with streak bonuses, star ratings, and a leaderboard. Built on React, Express and PostgreSQL with its own JWT auth and numbered SQL migrations, and an in-app "How to Play" guide whose numbers are read live from the scoring code, never typed as prose.

Civic Tech2025

EVSPolls

Role-based election platform tallying results in real time as votes land.

An election platform for institutions: student councils, faculty senates, alumni boards. Administrators build the ballot and publish it, which the model refuses until there are at least two candidates standing, because a one-candidate election is a data-entry mistake, not a contest. Three roles separate voters, election administrators and the system owner instead of an is-admin flag, and the record of who has already voted is held on the election itself, so a second ballot from the same account has nowhere to land.

HR Tech2024

Talentifyx

Ingests live roles from an open API and scores each against the stack you actually work in.

A job board for engineers. Listings are ingested from the open Arbeitnow API and tagged with the technologies each role asks for, so roles are findable by what you’d be building with. Saved roles move through a drag-and-drop pipeline carrying notes, contacts and follow-up dates, alongside conversion rates and the skills that would open up the most additional roles.

2 more below

Have a project in mind?

I’m open to freelance, contract and full-time work. Start with the problem; the scope can come later.