Full-stack engineer. Fintech systems. Built for scale.

I build production-grade fintech infrastructure and AI-integrated products for teams across East Africa and globally. Next.js · M-Pesa · TypeScript · Node · PostgreSQL

CDenn - Software Engineer

Current Focus

Ndoa Plan — offline-first event platform

About Me

I'm a full-stack software developer based in Nairobi, Kenya, with 3+ years building production-grade web applications and fintech systems. My work spans Next.js application architecture, M-Pesa payment integrations, AI-powered tooling, and offline-first mobile apps - across SaaS platforms, browser extensions, and event-tech products.

I've led frontend architecture on multi-tenant bancassurance platforms, built Chrome extensions that inject into live Gmail DOM, and engineered offline-first systems that reconcile M-Pesa STK callbacks in real time. I work across the full stack - from database schema and API design to component systems and deployment.

My Approach: Understand the problem deeply before writing a line of code. Ship fast without cutting corners on architecture. Keep systems maintainable for the team that inherits them.

Build systems that last. Ship products that work. Own the outcome.

Location

Nairobi, Kenya · Remote-friendly

Availability

Open to roles, contracts & consulting

Tech Stack

Frontend

ReactNext.jsTypeScriptJavaScriptTailwindCSSTanStack QueryFramer Motion

Backend

Node.jsRustPrismaPostgreSQLSupabaseM-Pesa Daraja APIREST APIsDeno

Mobile

FlutterDartRiverpodsqflite

Tools

GitGitHubFigmaVercelAdobe Tools

Experience

Frontend Engineer

Jan 2025 - Present

E&M Technologies

  • ·Led frontend architecture and development of the core product using React and Next.js, improving page load performance by 40%
  • ·Designed and implemented a scalable design system adopted across 3+ product teams, ensuring UI consistency and faster feature delivery
  • ·Collaborated with backend and product teams to translate business requirements into performant, user-centric interfaces
  • ·Improved maintainability of legacy code by introducing TypeScript patterns and reusable component structures

React, Next.js, TypeScript, TailwindCSS, REST APIs

Featured Solutions

Code under NDA

Bancassurance Platform

Multi-tenant SaaS platform for managing insurance policy lifecycles across bancassurance channels. Built for a financial services provider operating across multiple bank partnerships.

The Challenge

Multi-tenant architecture with secure role-based access, 10k+ concurrent users, and high-performance financial workflows - all while maintaining strict data isolation between tenants.

The Solution

Designed a theme-aware component library with tenant-scoped configs, JWT-based role permissions with tenant-boundary enforcement, and a virtual-scroll data grid that handled 50k+ policy records without performance degradation.

The Results
10k+Concurrent Users
50k+Policy Records
99.9%Uptime
8 monthsDelivery
Next.jsTypeScriptTailwindCSSJWTMulti-tenantFintech
Code under NDA - available on request
Email Refiner

Email Refiner

Open Source

AI-powered Chrome extension that enhances email writing in Gmail and Zimbra with real-time tone transformation and preview.

The Challenge

Integrating seamlessly into third-party email clients while maintaining performance, security, and a smooth user experience within dynamic DOM environments.

The Solution

Used MutationObserver to detect compose windows across both clients, isolated the React UI in a shadow DOM to prevent style conflicts, and offloaded OpenAI calls to a background service worker.

The Results
-40%Editing Time
2Supported Clients
<1sResponse Time
ReactTypeScriptChrome ExtensionsOpenAI APIMutationObserver
Ndoa Plan

Ndoa Plan

Ongoing

Offline-first wedding coordination platform built for Kenyan weddings, with M-Pesa payment reconciliation, multi-event planning, budget tracking, and real-time day-of execution tools.

The Challenge

Building a reliable planning tool for low-connectivity environments while keeping financial data consistent across offline-first sync, M-Pesa callbacks, and a multi-user role system.

The Solution

Implemented a Dexie-based local-first store with a background sync queue, conflict resolution strategy using server timestamps, and a webhook handler for M-Pesa Daraja callbacks that reconciled payments against guest contribution records.

The Results
10+Wedding Events
Real-timeBudget Accuracy
Full CRUDOffline Support
Next.jsTypeScriptPrismaPostgreSQLDexie (IndexedDB)M-Pesa Daraja APISupabase StorageTanStack QueryTailwind CSS

Let's Build Something Great.

Whether you have a project in mind, want to explore a collaboration, or just want to talk tech - I'm open to it. Fill in the form and I'll get back to you.

Typically responds within 24 hours