01
The Challenge
The mobile app was making multiple REST calls per screen to different backend services, causing slow load times on weaker connections and making the mobile team dependent on backend release cycles for every UI change.
02
The Approach
1
Built a GraphQL gateway aggregating data from multiple internal REST services behind a single endpoint.
2
Implemented field-level resolvers so mobile clients request exactly the data each screen needs, cutting over-fetching.
3
Added response caching with Redis for frequently requested, slow-changing data.
4
Set up query complexity limits to prevent expensive nested queries from overloading backend services.
03
The Outcome
Mobile screen load times improved due to fewer round trips, and the mobile team gained the ability to adjust data requirements without waiting on backend service changes.