Elevating the Swiggy Experience with Voice Search on Android
Article Summary
Swiggy shipped voice search in just 2 weeks and now drives 2,500+ incremental orders daily. Here's how they built it fast without sacrificing quality.
The Swiggy Android team shares their implementation journey for adding voice search to their food delivery app. They moved from POC to production in under two weeks using modern Android tools and careful UX considerations.
Key Takeaways
- Built with Jetpack Compose for declarative UI handling across speech states
- Used SpeechRecognizer API with free form model and partial results support
- Added 10 second delay for accessibility users to prevent talkback conflicts
- 45K daily voice searches with 5.5% converting to orders
- RxPermissions library simplified microphone permission handling across SDK versions
Voice search now generates 2,500 incremental orders per day with 45,000 daily requests and a 5.5% conversion rate.
About This Article
Swiggy needed to add voice search to their app, but managing the different states of speech recognition proved tricky. The system had to handle multiple phases like SPEECH_BEGINNING, SPEECH_LISTENING, SPEECH_RECOGNIZED, and SPEECH_UNRECOGNIZED while keeping the UI responsive and smooth.
Utkarsh Rastogi's team used Jetpack Compose to build the UI in a more straightforward way, which made state management easier. They integrated Google's SpeechRecognizer API with LANGUAGE_MODEL_FREE_FORM and EXTRA_PARTIAL_RESULTS to better understand what users were actually saying, even when their speech was unstructured.
The voice search feature drove real results. Among 45,000 daily requests, it led to a 35% menu page navigation rate, 17% cart additions, and 5.5% order conversion. This translated to roughly 2,500 extra orders per day for Swiggy.