Backend Engineering
The system underneath everything else
Backend work is where I spend most of my engineering time API design, database architecture, and the access-control boundaries that determine whether a system is actually safe to use.
Request flow
Frontend → API → Auth → Business Logic → Database → External Services
Frontend
Next.js / React client
API Layer
REST endpoints, routing
Auth
JWT, role scoping
Business Logic
Services, validation
Database
PostgreSQL / SQLite via ORM
External Services
AI models, email, storage
Capabilities
What this looks like in practice
API architecture & RESTful design
Designing endpoints around resources and consistent response contracts every mutating route returns the full resulting object, not a bare status code, so clients never have to guess or re-fetch.
Database architecture
Schema design with SQLAlchemy across PostgreSQL and SQLite, with explicit foreign-key relationships and query-time scoping enforced at the data-access layer, not left to the caller.
Authentication & authorization
JWT-based auth with role scoping handled in middleware rather than duplicated per route built out across four distinct roles on Uzima Link.
Security
Treating access-control boundaries as part of the data model: a query that can't return another user's records is a stronger guarantee than a check that might be forgotten in a new route.
Scalability & performance
Structuring long-running work (like AI extraction calls) asynchronously so slow external dependencies don't block the rest of a request flow.
Error handling, logging & debugging
Comfortable tracing subtle failures back to root cause a missing mime_type on an audio upload, an unscoped query rather than working around symptoms.
Testing & documentation
Testing endpoint contracts and permission boundaries directly, and writing down technical decisions so the reasoning behind an architecture choice is recoverable later.
Deployment & system design
Running frontend and backend as separately deployed services with correctly configured CORS, and designing system diagrams before writing implementation code.
Case studies
Backend-focused projects
Uzima Link
A multilingual, AI-assisted digital health records platform built for Kenyan clinics and community health settings.
Student Progress Tracker
A full-stack FastAPI + Next.js application for tracking individual student progress across a training cohort.
Dataloom
A Data-as-a-Service platform tackling data silos among mid-sized SMEs in East Africa.