works
what i've built and owned. most of these are private works, so the details are here instead.
products
-
baho coffee 2026 –
software engineer, sbc4d & itc
a platform for coffee and cocoa production, tracking a crop from the moment cherries are bought at a washing station through to green coffee. field staff work with little or no signal, so the app has to work offline and sync later without losing or duplicating anything.
- built the bidirectional sync engine on the watermelondb protocol: tablets capture data offline and push and pull changes against the api when they reconnect.
- modelled the farm registry in postgis, storing farm boundaries as polygons and round-tripping them as geojson through the sync layer.
- shipped the docker-free deployment path the client's contract required: systemd units, a terraform + ansible provisioner, and an angie reverse proxy.
- role-based access with casl, from hq managers down to staff scoped to a single washing station.
- wrote the project documentation: install guide, user guide, permissions matrix, schema, adrs and changelog.
-
ejo 2026 –
built solo
guest intelligence for bars and restaurants in kigali. a guest scans the qr code on their table, signs in, browses the menu, orders, plays a game, pays and leaves feedback. the owner sees all of it live and gets a reason to bring that guest back.
- a monorepo with an express 5 + socket.io api, a separate bullmq worker process, and a react 19 frontend, all sharing one package for prisma, redis, queues, auth and logging.
- live owner dashboard over websockets: orders, tables and guests update as they happen.
- workers that build ai night and morning briefs for owners with the claude api, aggregate loyalty, and expire table sessions.
- guest status levels named in kinyarwanda, recognition of returning guests by phone number, and whatsapp win-back outreach.
- a prisma schema split across 14 domain files, deployed behind caddy with ci/cd.
-
enligne 2025 –
sole backend engineer
a multi-vendor delivery platform in rwanda. customers order from onboarded merchants, riders deliver, and merchants get paid out. i built the entire backend.
- 13 domain modules: orders, payments, disbursements, merchants, riders, products, offers, reviews, media, notifications and admin. 200+ orders processed.
- made the payment layer survive failed webhook deliveries using idempotency keys and optimistic concurrency, so an order's status never drifts from its payment's.
- put webhooks, merchant payouts and notifications on a bullmq job pipeline, and wrapped external calls in circuit breakers.
- multi-provider sign-in with rbac across customers, merchants, riders and admins. push through expo and web push, files on s3, email on ses.
- ran it on docker behind nginx, with staging and production environments, ci/cd on github actions, and new relic alerting.
-
marmar 2024 –
founding engineer
clinical decision support for hospitals and patients. a clinician or patient submits a case, an llm-backed assessment comes back, and the result can flow into the hospital's own record system. marmar won meta's llama impact accelerator in 2025.
- designed the multi-tenant api behind cds.marmar.life. it has served 33,000+ assessments across 100+ hospitals.
- moved assessment generation off the request path into bullmq workers on redis, with retries, so slow or failed llm calls don't take requests down. separate workers handle webhook delivery and notifications.
- built fhir data exchange (hl7 bundles, application/fhir+json) so assessments can move in and out of emr and third-party systems.
- built the patient and mobile api for offline-first clients: devices generate their own ids and every write is an idempotent upsert, so an offline queue can replay safely.
- split the llm narrator into swappable providers with an openai fallback, and shipped an admin console with metrics, a typescript sdk, and stripe billing.
- built yasmar, a voice companion on elevenlabs conversational ai, in english and arabic, with tokens issued server-side so api keys never reach the browser.
client & contract work
-
quran initiative collective 2026
static next.js site for qic. events, initiatives and media live in typed content files, so the team updates the site without touching page code. i traced their logo to svg and built the palette from it.
next.js 16, tailwind v4 -
sarkin gida 2026
listings site for a property firm in abuja: land, houses and estates with filters, detail pages and a direct whatsapp line to the agents.
next.js, typescript -
yepetek 2025
landing page for ai voice and text customer support agents for small businesses.
html, tailwind -
alpha next tech 2024 – 2025
built three ai agents for lead qualification and proposal generation for livup dubai, deployed as containers on self-managed servers with sentry and new relic alerting.
ai agents, docker, sentry, new relic
systems & open source
-
cli ai agent 2025
command-line coding agent on google gemini. function calls run inside a sandboxed working directory.
python, gemini api -
monty 2024
bytecode interpreter in c. opcodes dispatch through a function-pointer table instead of a branching chain, and one linked list backs both stack and queue modes, switchable at runtime.
c -
simple_shell 2023
unix shell in c: fork/execve/wait, path resolution, environment handling and builtins. global state refactored into a struct passed through the call chain, which makes the execution path re-entrant.
c, posix