Backend-leaning full-stack engineer. Django · React Native · PostgreSQL · Lagos, Nigeria (WAT, UTC+1 — same offset as CET).
I take products from discovery through app-store release to production monitoring. Six shipped for clients across the US and Canada.
Most of that work lives in private client repositories, so the honest index is what it produced rather than the commits — the products are live and the engineering is written up in detail:
| Product | What it does | Where |
|---|---|---|
| CattleLogic | Full-lifecycle operating system for US cattle feedlots — intake, feed, health, inventory, hedging, invoicing. Offline-first: a full day of records entered with no cell signal, reconciled on reconnect. Runs a commercial Kansas feedlot day to day. | App · Engineering write-up · iOS + Android |
| Track & Field Dreams | Inverts athletic recruiting from search to push — verified performances go to college coaches automatically when they meet conference championship standards. Integrates NCES (27k high schools) and College Scorecard (6.4k colleges). | App · Write-up |
| BeHope · SoloPoolD · AutoPulse · SettlIn | Nonprofit platform, travel & hospitality, dealership analytics, and immigrant settlement services with an LLM chatbot and translation layer. | BeHope · SoloPoolD · AutoPulse · SettlIn |
The write-ups go into the parts that were actually hard — offline conflict resolution, FIFO commodity costing that reconciles between invoices and closeouts, a settlement-price bug caused by a UTC midnight boundary, and the 68-formula reference that keeps three separate reports reading one set of source records.
claude-skills — Claude Code skills that encode process rather than prompts.
qa-memory-bank— a persistent QA workspace where the filesystem is the state. An issue's status is the folder it sits in, so nothing can disagree with anything else. Enforces retest-queue-first ordering, class retests (because fixes are routinely too narrow), a permanent regression row for every verified fix, andpassmeaning UI correct and no swallowed 500s.fable— orchestrator mode: plan, supervise, audit, delegate implementation to sub-agents.
AI-native, with the guardrails set deliberately. Projects start from a dependency list I vetted in production before LLMs existed, so the model composes libraries whose failure modes I know rather than picking plausibly. MCP servers connect it to real systems; test suites and CI gates decide what merges — not the model's confidence in its own output.
Scaffolding, refactors and test coverage are delegated. Architecture, schema design and financial correctness are not. The formula reference and the CI migration gate in the CattleLogic write-up both exist for exactly that reason: plausible output that nobody had yet checked against a number they already knew.
Backend Django 5.2 · Django REST Framework · Celery · Redis · Django Channels Data PostgreSQL · SQLite — schema design, 345+ migrations shipped, composite indexing, FIFO and multi-module aggregation queries Mobile React Native · Expo · offline-first sync and conflict resolution · FCM/APNS Frontend React · TailwindCSS · Alpine.js · HTMX Testing & Ops pytest/Django suites at scale · Playwright · CI migration gating · post-deploy smoke tests with auto-rollback · Sentry Payments Stripe · Paystack · Paga · Flutterwave




