Back to More
Stack Breakdown

Swiggy

Real product. What tech probably powers it. And what you can learn from it.

Swiggy is one of India's largest food delivery platforms — handling millions of orders daily across real-time location tracking, dynamic pricing, restaurant discovery, and payment flows, all at once. Here's what likely powers it.

Architecture
01

Frontend

React.js

Component-based UI with Redux for global state and TypeScript for end-to-end type safety across the codebase.

React Native

Shared business logic across iOS and Android, with native Kotlin and Swift modules for performance-critical paths.

02

Backend

Node.js + Express

Fast, non-blocking API servers built for high-concurrency request volumes.

Python

Powers ML models, data pipelines, and the recommendation engine for personalised feeds.

Java / Go

High-throughput microservices handling order processing and real-time delivery assignment.

GraphQL

Declarative, flexible data-fetching layer consumed directly by the client apps.

gRPC

Low-latency binary protocol for internal microservice-to-microservice communication.

03

Infrastructure & DevOps

AWS

Primary cloud — EC2, S3, RDS, and Lambda for serverless compute at scale.

Kubernetes

Container orchestration managing hundreds of microservices across availability zones.

Docker

Containerisation ensuring consistent, reproducible deployments at every environment.

CI/CD

Automated testing and deployment pipelines via Jenkins and GitHub Actions.

CDN

CloudFront and Akamai for edge-cached static asset delivery across geographies.

04

Database Layer

TechnologyRole
PostgreSQLStructured data — user accounts, orders, restaurant records
MongoDBFlexible schema data — menus, dynamic item metadata
RedisCaching, session storage, and real-time leaderboard operations
ElasticsearchRestaurant and food search — fast, ranked full-text queries
Apache KafkaEvent streaming — order lifecycle events and live location updates
Takeaways
05

What you can take away

01
Cache with Redis

Even a small app benefits from caching frequent DB queries. Start with the most-read data.

02
Elasticsearch for Search

If you're filtering in the database for every search query, you're doing it wrong. Elasticsearch is purpose-built for this.

03
Event-Driven Architecture

An order triggers events that other services listen to. Design your app to think in events, not sequential calls.

04
Separate Read / Write DBs

When reads are 90% of traffic, read replicas and CQRS patterns change everything about your optimization strategy.

05
WebSockets, Not Polling

Calling an API every 2 seconds for updates is wasteful. WebSockets give real-time push with a fraction of the overhead.

06

Student Scale Version

Swiggy's StackYour Version
React + ReduxReact + Context API or Zustand
Node.js microservicesSingle Node.js + Express REST API
PostgreSQL + MongoDBPostgreSQL or MongoDB — pick one
Redis cachingSimple in-memory cache or basic Redis
Kafka event streamingSkip — unnecessary at small scale
KubernetesDocker Compose is enough
Google Maps PlatformLeaflet.js (free) or Google Maps free tier