Zepto · React Native
Zepto Workforce
The app Zepto's workforce uses every day. I built it from scratch in React Native and have looked after it since October 2024.
- 150K+monthly active users
- 1M+installs on Google Play
- 99.9%crash-free sessions
- <200 mson-device face verification on mid-range phones
Starting from nothing
I architected the app from scratch in React Native and grew it to 150K+ monthly users and over a million installs on Google Play, while keeping 99.9% of sessions crash-free.
A lot of that came down to groundwork that never shows up in a demo. Shared UI primitives keep screens consistent, feature flags let us ship without betting a release on a single change, and native Android and iOS integrations cover the places where React Native alone isn't enough.
Built for the field
People use the app constantly out in the field, where the network is often weak. So the core flows are offline-first: they keep working without a connection and catch up when the phone is back online.
That kind of constant use needs work to keep running in the background, so I wrote foreground service helpers and reliability tooling for it. I also cut the bundle size, which made cold start 40% faster.
Moving face verification onto the phone
We used to pay for a vendor SDK to verify faces. I replaced it with a pipeline that runs on the device, built on Google ML Kit with our own embedding logic. It verifies in under 200 ms on mid-range phones.
Dropping the vendor saves about ₹10 million a year, and since the matching happens on the phone, it doesn't depend on the network either.
Shipping it
I own mobile releases on Google Play and the App Store: shaping requirements, the GitHub Actions pipeline, production rollouts, and watching release quality once a build is out.
Around the app I also built an internal push notification service with campaign targeting and delivery analytics, which let teams move off CleverTap and cut a third-party bill. I also wrote an MCP server that gives coding agents access to our UI library, coding guidelines, debugging context and code navigation.