GraphQL API Development for Mobile & SPA Applications

Employer
Dmytro
Project parameters
Type of cooperationOne-time project
SectionWeb development
Prepaymentwithout prepayment
Payment methodsCash, Bank transfer
Acceptance of requestsfrom today, 12:54 until Aug 26, 2026
Project description
We are migrating away from an ageing REST API and moving to GraphQL to serve two clients: our React Native mobile app and our React single-page app. Rather than patch the old endpoints, we want to build the GraphQL layer properly from scratch, so we are looking for a senior developer who has run Apollo Server in production and knows where the sharp edges are. The goal is a single, well-typed graph that both clients can rely on, with predictable performance and no accidental N+1 explosions when a screen loads a list of related records.
The work spans the full stack of a GraphQL backend: a type-first schema for our core entities, resolvers backed by an optimised PostgreSQL layer, JWT authentication threaded through the request context, and field-level authorization so different roles see only what they should. Real-time features matter too — order status and notifications should reach clients over WebSocket subscriptions rather than polling. On top of correctness we care about safety and cost control, which means query depth and complexity limits and persisted queries for the mobile clients.
Because this replaces a live API, a clean migration path and solid documentation are part of the job, not an afterthought. Tell us about a GraphQL API you have shipped and how you handled auth and performance. Detailed scope follows.
1. Schema Design
— Type-first schema: User, Product, Order, Review, Notification
— Input types and mutation definitions
— Custom scalars (Date, JSON, Upload)
— Enum types for status fields
2. Implementation
— Apollo Server 4 with Express middleware
— DataLoader for N+1 query prevention
— JWT authentication via context
— Field-level authorization (middleware / directives)
— Subscriptions via WebSocket (order status, notifications)
3. Performance & Quality
— Query depth/complexity limiting
— Persisted queries for mobile clients
— PostgreSQL queries optimized (EXPLAIN ANALYZE review)
— Unit tests for resolvers (Jest + Supertest)
— Apollo Studio integration
4. Documentation & Handoff
— Schema documentation with descriptions on all types
— Postman/Insomnia collection
— Migration guide from REST endpoints
The work spans the full stack of a GraphQL backend: a type-first schema for our core entities, resolvers backed by an optimised PostgreSQL layer, JWT authentication threaded through the request context, and field-level authorization so different roles see only what they should. Real-time features matter too — order status and notifications should reach clients over WebSocket subscriptions rather than polling. On top of correctness we care about safety and cost control, which means query depth and complexity limits and persisted queries for the mobile clients.
Because this replaces a live API, a clean migration path and solid documentation are part of the job, not an afterthought. Tell us about a GraphQL API you have shipped and how you handled auth and performance. Detailed scope follows.
1. Schema Design
— Type-first schema: User, Product, Order, Review, Notification
— Input types and mutation definitions
— Custom scalars (Date, JSON, Upload)
— Enum types for status fields
2. Implementation
— Apollo Server 4 with Express middleware
— DataLoader for N+1 query prevention
— JWT authentication via context
— Field-level authorization (middleware / directives)
— Subscriptions via WebSocket (order status, notifications)
3. Performance & Quality
— Query depth/complexity limiting
— Persisted queries for mobile clients
— PostgreSQL queries optimized (EXPLAIN ANALYZE review)
— Unit tests for resolvers (Jest + Supertest)
— Apollo Studio integration
4. Documentation & Handoff
— Schema documentation with descriptions on all types
— Postman/Insomnia collection
— Migration guide from REST endpoints