
- Based in
- Lagos, Nigeria
- Building since
- 2021
- Currently
- Roov Africa
- Open to
- Full-time & contract
I'm Ezekiel — a full-stack engineer in Lagos. I build products end to end, and I like the parts that have to scale.
I started in 2021 the way most people do: making pages look right. What kept me here was everything behind them. I followed one bug from a button into an API, from the API into a query plan, and kept going until I could build the whole path myself. That is where I ended up: comfortable on either end, and most interested in the decisions that determine whether a product still works once there is real load on it.
Most of that time has been spent in edtech and marketplaces — EkoPages, RentAnything, Learnpally — owning the parts that quietly decide whether a product works. Auth and access control. Payment reconciliation against webhooks that arrive twice, out of order, or not at all. Queue workers for anything too slow to sit in a request. Push delivery that fires once. None of it demos well; all of it matters at 2am.
Today I'm at Roov Africa, a property tech company, working across React Native and the Node.js services behind it. I'd rather write something boring and predictable than something clever I have to explain twice — and I'd rather spend a day on the schema than a quarter on the migrations that undo it.
What I do, across both ends of the stack
01
Services & APIs
Node.js, Express and Django services designed around the workflows they serve rather than the screens that call them. REST APIs I would still want to consume a year later.
02
Data
Postgres and MongoDB schemas that hold their shape as the product changes, Prisma on top, and Redis where a query has no business running twice.
03
Auth, payments & jobs
The paths that quietly decide whether a product works. JWT and OAuth 2.0, role-based access enforced at the data layer, Paystack and Stripe reconciliation, and BullMQ workers for everything too slow to belong in a request.
04
Frontend & mobile
React, Next.js and React Native on top of all of it. Building both ends means I design endpoints that are pleasant to consume, because I am usually the one consuming them.
Off the clock, still curious
When I'm not shipping, I'm usually taking something apart to see how it was built — a framework's internals, a well-made app's onboarding, someone else's migration notes. Reading other people's code has taught me more than any course.
The rest goes to chess (mostly blitz), the Lagos tech community — helping people earlier in the path than me get unstuck — and the slow work of figuring out what makes a digital product feel considered rather than merely functional.