an order, they expect the app to work quickly, payments to go through without issues, and delivery updates to arrive in real time. If the system lags, customer trust is undermined rather quickly.
One of our clients faced exactly this challenge. Their platform had grown quickly, but the underlying architecture wasn’t keeping up. Services were fragmented, data was scattered, and scaling the system became more difficult with each new user. What they needed was not just a rebuild, but a platform designed around data. Basically, something flexible enough to support growth and strong enough to deliver reliable insights.
The article shows how a data-focused approach allowed building a strong platform
Re-Architecting the Foundation
The platform was restructured into a 17-microservice architecture, where each core function, like orders, loyalty system, payments, delivery, call center, notifications, etc., operates independently. This separation prevents issues in one service from disrupting others. To maintain services’ connectivity without introducing unnecessary complexity, we utilized Dapr for inter-service communication.
Making Data Work Smarter
The platform serves over 3 million users, so managing data efficiently was a top priority. Before, information lived in silos, e.g., order history in one place, payments in another, and logs spread across different systems. Therefore, we introduced a clear data model:
- MongoDB for order history;
- PostgreSQL for payments, loyalty, and admin data;
- Amazon OpenSearch for search, logs, and audits.
On top of that, we added coverage maps to visualize how orders were distributed and how each shop performed, giving managers real visibility instead of raw numbers.
Cloud and Analytics on AWS
To simplify the environment, the platform was standardized on AWS. Transactional and operational data now flow into Amazon Redshift, making cross-service analytics possible without additional integrations. With Amazon QuickSight, decision-makers can view dashboards, generate reports, and track business performance in real time.
This same data also fuels personalization features, like birthday offers and targeted discounts. This way, customer engagement improves without adding manual overhead.
Real-Time and Reliable
Updates such as delivery status or payment confirmation are now sent instantly using AWS Lambda, Amazon SQS/SNS, and WebSockets. This means fewer customer calls asking about order status, and a smoother experience for users overall.
Security, Monitoring, and Automation
To improve security, monitoring and automation, the development team adopted the following stack:
- Jaeger monitors system performance, detecting slow or failed queries.
- DefectDojo handles continuous vulnerability tracking across front and back ends.
- HangFire automates recurring background jobs, reducing manual interventions.
Together, these improvements keep the platform stable, secure, and efficient.
Improving Developer and User Experience
A monorepo architecture was introduced to simplify work across web, mobile, and admin tools. On the front end, Next.js with Incremental Static Regeneration improved speed and content updates.
The backend was fully rewritten using .NET, replacing the previous mix of Python and Go. This unified the system and eliminated long-standing communication challenges, while also automating workflows that once relied on spreadsheets.
Summary
Rebuilding the platform didn’t just solve technical bottlenecks. It made everyday operations easier and more reliable. Tasks that used to take manual effort now run automatically in the background. Customers see faster updates and a more stable service, which reduces the load on the call center.
With all business data brought together in one place, the company can finally analyze trends, run campaigns with confidence, and make decisions based on facts rather than guessing. The new platform turned a set of disconnected tools into one consistent system that supports both day-to-day work and long-term growth.