How we moved the ad lifecycle out of a decade-old PHP service and into a Java service of its own, with zero downtime and without asking any dependent system to change on the same day. Legacy: Core Monolith (PHP) · New: Listing Service (Java) · Approach: strangler fig + weighted…
Open the OLX app and you’ll find everything a buyer or seller could need: categories, filters, search, packages, and help. But a feature only helps if people can find it and know how to use it. Most users don’t think in categories and filters. They think in sentences, in English,…
The problem: scale, noise, and 3 AM alerts Running a classifieds marketplace at OLX India’s scale means roughly 150 microservices, tens of billions of log lines flowing through a centralized ClickHouse cluster, and a user base spanning the country. Ad listings, buyer-seller chat, payments, content moderation, search, and notifications are…
Introduction Mobile applications frequently fetch the same resources—home feeds, category lists, configuration data, and other semi-static content. Repeated requests increase latency, consume bandwidth, and place unnecessary load on backend services. Retrofit relies on OkHttp for networking, and OkHttp provides built-in disk caching. However, responses are cached only when the server…
Learn how OLX rebuilt its Ad Detail Page — visited 17 million times a month — using Jetpack Compose, MVI architecture, and component-driven design. Discover how they achieved a 99%+ crash-free rate by isolating failures, keeping the ViewModel lean with 46 single-responsibility handlers, and making every action run off the…