
Obinna Akpulonu
Full-stack engineer — web, mobile, AI & automation
I design and ship whole products — front end, back end, mobile apps, AI features and automations — from the first sketch to the App Store. 20+ shipped to production, including EstatePadi, a multi-tenant SaaS I built solo. I build fast with Claude and check its work myself: the parts where getting it wrong is expensive — who can see what, whether a payment actually happened — get proven under test, not assumed.
Case files:: Selected work
Scroll · Drag · Tap a file
Section:: 01 / About
20+ products in production. Most of them you'll never see named here.
I'm a full-stack engineer who takes products from idea to store listing — web, mobile, AI and automation — with five years of extra depth in the part most people avoid: authorization boundaries, payment state reconciliation, and the request path where a shortcut today becomes an incident later. I started in international money transfer at a commercial bank — onboarding partner APIs into core banking and resolving settlement disputes nationwide — which is where "the money moved, but did it actually reconcile?" became a permanent instinct rather than a checklist item.
Since then I've shipped 20+ projects to production. Most were built for clients under NDA, so they don't appear here by name — but I'm happy to walk through the architecture and the trade-offs behind that work in conversation, without naming the client.
The work I can show publicly starts with EstatePadi, a multi-tenant estate-management platform I've architected and built solo since late 2022 — residents, estate admins, and gate security on one Django/DRF codebase, taken from data model to a published Android app — and Anwrk, an artisan marketplace live on the web.
Because client code can't be shared, I also designed and built five systems in the open — a multi-tenant RAG platform, an on-chain prediction market with its own indexer, a Stripe Connect marketplace, a real-time collaborative board over WebSockets, and a ticketing platform built around a single provable claim: it cannot oversell the last ticket. Every one ships with the test that would fail if the hard claim were false, and the code is there to read.
- 0
- live projects shipped to production — most under client NDA
- 0
- years building production Python/Django systems
- 0
- open-source case studies, each proven under concurrency
- 0
- faster response times after a query/indexing redesign, in prod
Section:: 02 / Experience
Where this was learned and where it's been applied.
-
Nov 2022 — Present Full time
Software Engineer @ Allforms Limited
Sole engineer on EstatePadi — architecture, backend, frontend, mobile, and deployment.
- Architected and built a multi-tenant Django/DRF platform serving three role-separated portals (resident, estate admin, gate security) from one codebase and database, every role boundary enforced in permission classes and every sensitive action written to an audit log.
- Built the dues-payment pipeline end to end — Paystack integration, webhook event handling, payment-evidence submission, admin verification, automated digital receipts — removing manual reconciliation for estate committees.
- Standardized subscription and access enforcement at the request layer, replacing checks that lived only in persisted state so billing status could no longer diverge from actual access.
- Designed visitor access around time-bound codes verified in real time at the gate, replacing phone-call verification, with the security portal scoped to identity data only — never financial records.
- Redesigned the PostgreSQL query and indexing strategy, cutting response times by 40% under peak traffic.
- Shipped the Android app to Google Play with push-notification alerts (iOS in development), keeping data handling aligned with NDPR.
-
Oct 2020 — Oct 2022 Full time
International Money Transfer @ Polaris Bank Limited
- Onboarded international money transfer operators and integrated their APIs with the bank's core banking system so inbound transactions could be settled on their behalf for per-transaction commission.
- Resolved transaction disputes raised by branches nationwide, escalating unresolved cases to partner IMTOs. First exposure to API integration, settlement, and the reconciliation discipline behind how payment flows get built and debugged today.
Section:: 03 / Skills
The toolbox behind all of the above.
Backend & APIs
- Python
- Django
- Django REST Framework
- FastAPI
- REST API design
- System design
- PostgreSQL
- Relational data modeling
Security & Access Control
- AuthN / AuthZ design
- Role-based permission classes
- Multi-tenant data isolation
- Request-layer enforcement
- Audit logging
- NDPR-aligned data handling
Payments & Integrations
- Stripe & Stripe Connect
- Paystack
- Webhook event handling
- Idempotency ledgers
- Subscription lifecycle
- Third-party API integration
Front end & Mobile
- React
- Next.js
- TypeScript / JavaScript
- Google Play release
- Apple Store release
- Push notifications
AI & Automation
- Claude & Claude Code
- RAG with citations
- AI agents & tool use
- LLM features in existing apps
- n8n workflows
- Make (Integromat) scenarios
- HubSpot & CRM integrations
- Webhooks & API automations
Cloud & DevOps
- AWS
- Docker
- CI/CD
- GitHub Actions
- Cloud deployment
Also proven in project work
- Celery + Redis
- Django Channels / WebSockets
- Postgres + pgvector
- Solidity + Foundry
- Redis + Lua atomic scripting
And the commits that keep it honest.
GitHub activity
Section:: 04 / How I work
Four rules I keep re-deriving on every project.
Authorization lives in the request path.
Not the interface, not a flag trusted at read time. If the client has to be honest for the boundary to hold, the boundary doesn't hold.
Prove it, don't assert it.
"No oversell," "no duplicate charge," "no cross-tenant leak" are all claims. Each one gets a test — real concurrency, real replay, real crash — that would fail if the claim were false.
Idempotency isn't an edge case.
Webhooks get redelivered. Workers get killed mid-job. Connections drop mid-write. Design for that on the first pass, not as a hotfix after the first incident.
Boring infra, hard problems.
Postgres, Redis, well-understood tools I trust — then spend the complexity budget that saves on the part of the system that's actually novel.
Section:: 05 / Contact
Got an idea, an app, or a process to automate? Let's build it.
Send me your idea, your half-built app, or the process that eats your week. Web app, mobile app, AI feature or automation — I'll tell you what I'd build and how. Open to new projects, full-time roles and contracts. I usually reply within a day.