OFFSET Pagination Doesn’t Scale. Here’s What Does
Why OFFSET pagination breaks at scale, and how cursor pagination and deferred joins fix it.
Backend Developer · Freelance Web Developer
I build the systems that power web products from APIs, databases, and server-side logic. Based in Nigeria, I also help local businesses get online with clean, functional websites that convert visitors to customers.
Tech Stack
A selection of projects and systems exploring software architecture, performance, and technical problem-solving.
A website for Eaglespoint Horizon Ltd., a real estate and travel company in Nigeria. Built using the Django Web Framework.
A simple and efficient RESTful API built with FastAPI and SQLModel. It provide endpoints to shorten URLs, manage links, and perform admin-level operations. Designed as a backend practice project to strengthen skills in API design, authentication, and database management.
Technical writing and deep dives into software engineering concepts, trade-offs, and implementation details.
Why OFFSET pagination breaks at scale, and how cursor pagination and deferred joins fix it.
A technical breakdown of EveriKobo, an AI-powered bookkeeping app built for Nigeria's informal traders that won the NACOS CUAB Hackathon 2026. Covers the ML architecture, fraud detection system, and honest lessons learned after winning.
It documents how to force an Index-Only Scan using a Covering Index, dropping query execution time on a 1-million-row table from 217ms to 0.106ms.
A deep dive into the O(log n) efficiency of B-Trees versus the O(n) cost of full table scans. It explores the critical trade-off between read speed and write overhead that every backend engineer must master.
A technical retrospective on moving from Django’s "batteries-included" environment to the unopinionated architecture of FastAPI. It covers implementing custom database seeding, JWT authentication, and Role-Based Access Control (RBAC) in a modular system.
An analysis of ensuring data integrity in multi-table operations using Django’s transaction.atomic(). It demonstrates how to prevent "orphaned" records by enforcing database atomicity during complex user registration flows.
Got a project you need built, a role, or just want to talk backend? I'm available for freelance work and open to full-time opportunities.
Quick questions, project ideas, or any collaboration — fastest way to get a response.
Start a WhatsApp chatFor detailed inquiries, formal opportunities, or anything that needs a longer reply.
Send an email