<- Back to projects
Case study
Backend systems

Spire Africa - GraphQL API

Part of the team that introduced a GraphQL layer over the company's existing Node.js backend - consolidating multiple REST endpoints into a typed schema with resolver-level caching.

The problem

REST endpoints are proliferating. Clients are over-fetching constantly.

Part of the team that introduced a GraphQL layer over the company's existing Node.js backend - consolidating multiple REST endpoints into a typed schema with resolver-level caching.

The approach

Identified the client views that were over-fetching from multiple REST endpoints.

Introduced a GraphQL layer that let clients request only the fields needed for each screen.

Used resolver-level caching patterns and DataLoader to control repeated database access.

What was used

Node.js for the backend service layer.

GraphQL for typed client-driven queries.

MongoDB for the existing data store.

DataLoader to reduce N+1 query pressure.

The outcome

Reduced unnecessary payload size for client applications.

Consolidated scattered REST calls into a typed schema.

Improved backend performance characteristics around repeated resolver access.

Want the engineering version?
I can walk through tradeoffs, data flow, and implementation details in a deeper technical conversation.
Talk about a project