The situation
The marketplace ran on a monolith that had become hard to change. Every release meant a four-hour deploy, teams stepped on each other, and the whole system had to scale together — capping reliability at around 97% uptime.
What we did
We decomposed the monolith into 12 microservices behind an API gateway, using Node.js and Go with GraphQL and gRPC for communication, Kafka for events, and Kubernetes with Istio for orchestration and traffic control. Services deploy and scale independently.
The outcome
Deploys dropped from 4 hours to 15 minutes, each service scales on its own, and uptime rose from 97% to 99.9%.