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
10
Live demo
10 / 10
Case study
10 / 10

Showing 6 of 10 projects

Property2026

TafutaKeja

Property search by estate, with moderation that re-reviews a listing whenever it changes.

A property marketplace for Kenya, covering the whole hunt: filtering by estate rather than by county, comparing rent against service charge and deposit, shortlisting places with private notes, and messaging the agent in a thread both sides keep. Agents draft and manage their own listings through a dashboard; every one passes a moderation queue before it goes live, and editing a published listing sends it straight back for review. Listing photographs are resized into responsive WebP at three widths, taking a twelve-card browse page to 204KB.

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.

Ticketing2026

SherehePass

Sells tickets without overselling them: the availability check and the claim are one SQL statement.

Ticketing for live events across Kenya: concerts, festivals, tech meetups and match days. Organisers price events in tiers and scan people in at the door; buyers pay with M-Pesa or card and walk in with a QR code. Selling the last ticket is one conditional UPDATE inside one transaction, so two people pressing Pay at the same moment cannot both get it. A test proves it, running twenty concurrent transactions against ten tickets and asserting exactly ten sales.

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.

4 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.