Author: Jayshmi A Special thanks to soumyajyoti banerjee for his contributions throughout this project and Sunil Rathee for his guidance. The counterintuitive story of how 350+ carefully engineered features + a simple MLP matched industry leaders and what that says about where the real moat lives in ML. Introduction Predicted lifetime value is one of the most fundamental signals in…
Swiggy Bytes
https://bytes.swiggy.com/ · 18 posts · history since 2026 · active
17 Jul
Building Swiggy’s AI onboarding companion for delivery executives, where accuracy alone wasn’t enough and mentorship had to scale. For a new Delivery Executive (DE) joining Swiggy, the experience is often overwhelming, throwing a world of SOPs, incentive structures, zone logistics, and app workflows at them all at once. This friction is evident in our metrics, but the drop-off isn’t due…
Engineering across all Swiggy Apps has always had a simple problem with a very large surface area: we ship fast, but every release, every production signal, and every operational review touches too many systems. For a single release manager or on-call engineer, the day could start across Jira, Confluence, Bitrise, Play Console, Crashlytics, New Relic, Google Sheets, ImageKit dashboards, and…
10 Jul
🎭 The Mystery Begins Picture this: You’re a responsible Android developer. You’ve done everything right. You’ve replaced those bulky PNGs with lighter, elegant, scalable SVGs. You’ve patted yourself on the back. You’ve probably even tweeted about it. Then one day, you open the APK Analyzer and see a familiar face staring back at you — a PNG you never invited…
At Swiggy, we use Protocol Buffers everywhere. Nearly every message exchanged between our backend services and our mobile apps is a protobuf. On Android, the default and most widely adopted way to work with those schemas was protobuf-java, Google’s official Java runtime, with Java classes generated by protoc. It worked. But when we started profiling our app size, we found…
Scaling Android CI: From 44 → 10 minutes — A Deep Dive into Build Time Optimization and Best Practices Android monorepos get expensive and slow as they scale. We re-architected CI/CD caching, trimmed the Gradle graph, tuned the JVM, modernized the toolchain, and finally moved to Apple Silicon — plus specific configs and numbers you can replicate. Context and Baseline…
9 Jul
You did something wrong as a kid. You knew you weren’t supposed to. And somewhere in the house, your mom just found out. Your heart is going faster than it ever has. You’re calculating exit routes. And then you hear it: the slap of a chappal being picked up. You’ve accepted your fate. You’re bracing for impact. And then it…
16 Jun
Introduction If you have ever filed a complaint on an e-commerce app — uploaded a photo of a damaged packet, reported a wrong item, or flagged an expired product — you were probably expecting a quick, fair resolution. You were not thinking about what happens on the other side. But at scale, every wrong call on the other side either…
29 May
IWTC Introduction If you have ever typed “I want to cancel my order” into a support chat, you were probably not looking for a workflow. You were looking for clarity, speed, and some assurance that the platform understood what had gone wrong. At Swiggy, this seemingly simple interaction sits at the intersection of multiple live systems and stakeholders: a customer…
The Problem A Delivery Executive (DE) finishes their day, opens the app, and expects a clear breakdown of what they earned. Instead, they often see a payout that does not fully match their expectations — an incentive missing, a deduction they do not recognise, or a credited amount lower than what they had mentally calculated. At Swiggy, these seemingly simple…
25 May
Author: Aarav Nigam Special thanks to Charan and Meghana Negi for their contribution and guidance throughout this project. Introduction Every delivery has a moment where standard navigation stops being useful. Getting from a restaurant or dark store to the customer’s neighborhood is largely a solved problem. Existing routing systems do that well. The harder part begins after the delivery executive…
Authors: Charan , Aarav Nigam Special thanks to Meghana Negi for her contribution and guidance throughout the project. Introduction In hyperlocal delivery, finding a customer’s location is only half the problem. A latitude-longitude pin can tell us where a delivery ends on the map, but not how a delivery partner should interpret that location in the real world. In dense…
15 May
Authors : Sahib Majithia Satpalsingh Jaspalsingh Ghunia Mano Ranjith Kumar M Special thanks to Potturi Hemanth Sai Varma and Soumyajyoti Banerjee for their contributions throughout the project and Sunil Rathee for his guidance. Introduction The quick commerce industry has fundamentally redefined consumer expectations — from “delivery in days” to “delivery in minutes.” This shift is not merely an operational upgrade…
4 May
Picture this: Your favorite batsman is on strike, two runs needed off the last ball — and you’re starving. Do you close the match to open a food app? Of course not. Nobody does. (Blame our laziness 😅) That’s the exact problem Swiggy and JioHotstar set out to solve: let users order food without ever leaving the JioHotstar app. The…
22 Apr
A while back, a seemingly harmless change to a shared UI library made it all the way to a release demo before anyone noticed that several parts of the product looked… off. Nothing was functionally broken, but a change in a shared package accidentally overwrote some UI colours that were only used in a few places. Since everything was still…
10 Apr
Real-time ML Ranking for Autocomplete: Deploying Learning-to-Rank inside OpenSearch (Part 1) Co-authored with Srinivas Nagamalla . Special mentions to Yawan Gupta and the Search-engineering-team for their contributions. Autocomplete is one of the most latency-sensitive surfaces in any consumer app. At Swiggy, autocomplete is triggered on every keystroke, so ranking has to fit within a tiny latency budget while serving far…
26 Mar
Two tiny AI models. No server. ~300ms. Here’s the story. Authors: Arpit Goel , Shruti Shrivastava The Problem Crew is a conversational concierge — one chat box to book cabs, restaurants, hotels, trips, gifts. No separate screens. Just type what you need. A user types “book cab from airport” and submits. That works well — but a chat box alone…
24 Mar
The Micro-Frontend Evolution: Why We Traded S3 Behaviors for Module Federation (and What It Cost Us) A practical guide/story from the team that migrated multiple B2B dashboards to a unified Module Federation architecture — including the scariest part: moving thousands of authenticated users to a new domain without a single forced logout. “S3-based micro-frontends are not micro-frontends. They are separate…