Apps I have built
Real systems:
from the storefront
Each one is built on Django, with web and mobile front ends where the job needs them.

- 4systems designed and built
- 400+commits on the commerce platform
- 18domain apps in the school system
- 3clients on one commerce API
Step-by-step
How I build a system
Every project on this page went through the same four steps — from understanding the business to keeping it running in production.
Model the business
Turn how the business actually works — orders, school terms, hiring stages, devices — into a data model and the rules around it.
Build the API
A Django REST API with authentication, permissions, background jobs on Celery and tests, documented so any client can use it.
Ship the clients
Next.js for the public site and staff dashboards, Flutter for mobile, all talking to the same API.
Deploy and run it
Docker, nginx and a CI pipeline that tests every push, on servers I manage myself — and I stay around after launch.
E-commerce platform
Django · Next.js · Flutter · Celery
Web shop and Android app
Customers browse, buy and track orders on a Next.js storefront or the Flutter app — both on the same Django API.
Local and global payments
M-Pesa, Paystack, PayPal and cash on delivery, with an order state machine guarding every step.
Staff admin
Orders, stock, promotions, push campaigns and a support inbox in one dashboard, with an inventory ledger behind it.
White-label
Name, logo, colours, currency and shipping rules live in one settings record, so the same code runs a different shop.
School management system (LMS)
Django REST · PostgreSQL · Celery · GitHub Actions
The whole school year
Admissions from enquiry to enrolment, attendance registers, exams and report cards, timetables, library and transport.
Fees and finance
Fee structures, invoices, payments and refunds, with a ledger that records every payment webhook.
Many schools, one system
Each school is its own tenant, with parents, staff and students kept separate and permissioned.
Secure by default
Phone-number login with JWT and per-device sessions, and an append-only audit log of who changed what.
Device manager (NOC monitor)
Django · HTMX · Celery · Redis · SNMP
Live dashboard
Status, toner levels, page counts and uptime for every printer, updating itself with HTMX — no page reloads.
SNMP polling
Each device is polled in the background on Celery and Redis, with limits so the network is never flooded.
History and alerts
Readings are kept in PostgreSQL, so problems show up before users call the helpdesk.
Built from the job
Built from my own day-to-day IT work, for a network operations centre.
Recruitment system (TedRecruit)
Django REST · Next.js · Celery · Cloudflare R2
Careers site
Candidates browse open roles by department and level and apply through a step-by-step form, CV included.
Custom questions per job
HR adds extra questions to any job — text, dropdowns, dates, yes/no, PDF uploads — and picks which form step they appear on.
Hiring pipeline
New → reviewing → shortlisted → interview → offer or rejected, with a full status history and Excel export.
Private CV storage
CVs upload straight to Cloudflare R2 and HR opens them through short-lived signed links.
Still have some questions?
Can I see a demo?
Yes. Get in touch and I will walk you through any of these systems and the code behind them.
Can you build something like this for my business?
Yes — each of these started from a real need. Tell me how your business works and I will tell you what it would take.
Do you build mobile apps too?
Yes. I build Flutter apps that share one backend with the web, as in the e-commerce platform.
Who hosts and maintains it?
I can deploy it on your servers or mine, set up automatic deploys, and look after it after launch.
Need a system like these?
Online shop, school, HR or operations — tell me what you need and let's build it.