Back to work
CASE STUDY · 01

Backend API for a logistics startup in Lagos

A logistics startup was starting a pilot in Lagos and needed a backend from scratch. Different types of users would be working on the same deliveries, payments had to be right every time, and the setup had to stay lean.

NestJSTypeScriptPostgreSQLPostGISTypeORMDockerGitHub Actions
My role
Backend Developer - API design, build and deployment
Team
Worked with product leadership and the frontend team
Timeline
About 6 weeks to a working pilot backend
Constraint
A small infrastructure budget, and user data handled under the Nigeria Data Protection Act (NDPA)
API client sending a user registration request to the backend

The problem

The platform had several user roles, each with their own part to play in a delivery. If a step was missed or recorded twice, things would go wrong for real people and real money.

I built the backend as one NestJS app split into clear modules, so each part of the product could grow without breaking the others. I kept a full history of every change to an order, so nothing could happen without a record of it. I also added role-based access, payment handling, email notifications and location-based search.

The tradeoff I made

I had users upload files straight to cloud storage instead of sending them through our server. Passing files through the API would have been simpler to build and easier to control, but it would have used up server memory and bandwidth on work the storage service already does well.

A few extra steps in the upload flow in exchange for a server that stays light.

Outcomes

10

Backend modules built and running in one codebase with enforced boundaries between them

~6 weeks

From first commit to a deployed backend

Every push

Type checks, linting, builds and end-to-end tests against a real database run in CI

What I would do differently

I would walk through each user's full journey before building their endpoints. After launch we found a couple of screens the frontend needed that the API didn't support yet. They were easy to add, but they should have been caught at the start.

I would also set up deployment in the first week instead of near the end. Small hosting issues are easy to fix early, but finding them late took time I didn't plan for.

NEXT CASE STUDY · 02
Platform rebuild and infrastructure for a learning and careers platform
NEXT STEP

Tell me where your project is. Let's take the next step together.

I take on 1–2 projects at a time. A 30-minute call is enough to know whether I'm the right person for what you're building - and if not, I'll tell you that too.

Available for new projects now · replies within 24 hours

01 Where are you in the process? Choose one