Zoomable RecyclerView: Enabling Pinch-to-Zoom and Panning in Android RecyclerViews
Introduction Android’s native RecyclerView is exceptionally efficient at handling large datasets through item recycling, but it lacks native support for spatial interactions like pinch-to-zoom and canvas-level panning. For complex layouts—such as interactive retail grids or…
The Right Pixels: Optimising Images at Meesho’s Scale
Client-side engineering lessons from optimizing billions of image loads every day in Meesho’s Android app. Within the Meesho app, images serve as the product surface itself rather than mere ornamentation. Users judge fabric, finish, colour, fit and detail through pixels, while…
Solving an AAPT2 Auto-Versioning Mystery The discovery APK size is a core performance metric for us. We track it continuously, investigate regressions, and regularly inspect what is actually shipped, not only what exists in source control. That habit led us to an unusual…
Quality in the Loop: Measuring and Enforcing Build Quality in Agentic Development
More than 70% of the code my team ships is now AI-generated. Velocity stopped being our constraint a while ago. What replaced it is a question the team asks several times a week, and until this year we had no defensible way to answer it. The question every developer on my team…
The Inner Loop Is Solved. The Outer Loop Is Yours.
Agents now write most of our code, and the panic about what that means for engineers is aimed at exactly the wrong half of the job. A mental model I keep coming back to, what it says about the engineer we are all becoming, and why the engineers with the most to gain are the ones…
The Pixel Gap: Building an Image Service for India's Billion-Device Internet
A college student in Bangalore browsing on 5G with an iPhone 15. A homemaker in Siwan, Bihar, scrolling through sarees on a Redmi 9A with 2GB of RAM over patchy 3G. A first-time buyer in Tinsukia, Assam, on a JioPhone Next with a 5.5-inch 720p screen and a signal that drops…
When processing billions of transactions in a system as large as PhonePe, underlying databases go through constant querying, repairs and management. While a set of these tasks are automated, some are managed by human users. This leaves a potential risk of unauthorised/untracked…
Finding the Needle in the Stack: How We Built Khoj.AI for Automated Root Cause Detection
Part 1 of a multi-part series. A quick note before we begin: the first chapter of Khoj.AI was built before the generative AI wave really took off, so some early choices reflect the tooling of that time. This post walks through how the system has evolved over the last 1 year,…
Every week I meet a few analysts during my office hours and they talk about a number of things like- careers, hobbies, dreams, managers, colleagues, family, higher education, fitness, balancing priorities and off course, Bangalore traffic. Of late, one common theme is about AI…
Designing Edge Security That Actually Holds at Scale
The Problem With Assumed Security As systems scale, security shifts from a one-time setup to an ongoing architectural responsibility that needs continuous attention as infrastructure evolves and teams change. A key risk in this environment is the gap between assumed and actual…
Beyond IaC: Engineering a solution to Guarantee What Actually Is in Production
Infrastructure as Code (IaC) is often treated as the holy grail of Site Reliability Engineering (SRE). We use tools like SaltStack and Ansible, alongside golden images and post-install scripts, to define our ideal state. But here is the hidden secret of infrastructure…
Building Reviews at Scale - From Synchronous Writes to Event-Driven Intelligence
At Meesho, reviews are one of the strongest drivers of trust. They influence not just what users buy, but how sellers build reputation and how product quality is interpreted relative to price. But building a review system at scale quickly stops being a UI problem. It becomes a…
Engineering for Trust: Meesho’s Evolving View of Uptime
There was a time when we thought uptime was simple. If dashboards were green, APIs were healthy, and latency looked good, we believed the system was doing its job. If something slipped, uptime was considered impacted — end of story. As Meesho grew, that definition started to…
An OOM (Out of Memory) crash is simply when the app runs out of space to think — and shuts down. Every byte counts when your users span across Bharat. At Meesho, we build for everyone in India, including people using budget phones with limited memory. When an app runs out of…
Optimizing Merchandising: Machine Learning for Real-Time App Experience and LTV Maximization
At PhonePe Limited (“PhonePe”), the top banner on our platform’s homepage (the “masthead”) isn’t just an ad slot—it’s the important real estate we have. However, delivering real-time, personalized recommendations at a scale of hundreds of millions of users presents a complex…
Inside Meesho’s Real-Time Analytics Platform: A Deep Dive into Driving Performance at Scale
At Meesho, we are constantly striving to understand our users better and enhance their experience. Every day, users can generate billions of events on our platform from browsing products to completing purchases and we aim to translate these signals into insights instantly. From…
Product Security Scorecards: Coupling Security Issues with Preventative Controls to Drive Security Maturity
Postman’s commitment to Product Security begins with our approach to Application Security. Every engineering team in Postman has an assigned Security Engineer...
Powering Real-Time Decisions with PhonePe’s Garfield Platform and Apache Druid
At PhonePe’s scale, handling millions of transactions and user interactions every hour requires an analytics platform that’s not just fast, but instant. When every millisecond counts — both for user experience and incident detection — batch processing simply doesn’t cut it.…
At Postman, we are committed to delivering simple, practical and easy-to-use tools that make building and testing APIs efficient and effortless. Postman...
In recent years, online shopping has surged, revolutionizing how people purchase products and services. E-commerce’s convenience has reshaped consumer behaviour and the retail landscape. Unlike traditional stores, online shoppers often face sizing challenges, leading to…
Vulnerability Management & Risk Scoring for Business Services
In the rapidly evolving FinTech sector, PhonePe Private Limited, an India-born leader in financial services, stands out for its innovative range of products and services. Offering everything from UPI transactions and bill payments to stock market investments, personal finance…
All an SRE needs to know : Automation ERA in Distributed Datastores
– Elasticsearch Upgrade for a cluster takes more than 10hrs by 2SREs manually and entails considerable back and forth. – SRE has automated the entire flow for rolling upgrades without downtime along with strict guardrails, killswitch, regular slack bots. – Automation has…
Virtual Machine Provisioning and Management in PhonePe
This blog post provides a high-level overview of PPeC (PhonePe Cloud) Agent’s architecture, its interaction with other key components like the PPeC API and PPeC Proxy, and how it optimizes tasks such as VM creation, resource allocation, and dynamic disk management. Evolution and…
As PhonePe continues to grow rapidly, the scale and reliability of our infrastructure becomes more important. By developing our own infrastructure, we’re able to adapt quickly while keeping our services reliable. In order to meet our deployment needs, we use specialized in-house…
Today I’ll talk about what it’s been like working as a Community Engineer at Hasura, including a bit about my weekly schedule, and the things we’re working on to support our community.
The Kafka Edge: Managing 100 Billion Daily Events at PhonePe
Kafka, a distributed streaming platform, has become the backbone of PhonePe’s data infrastructure, enabling them to seamlessly handle the staggering flow of information.
Complexity tradeoffs with GraphQL and BFFs: What MVC can teach us [infographic]
Where does the Backend for Frontend (BFF) and related tools fit in your stack? Understand how teams can scale, and what the separation of concerns should be, by tracing their evolution step by step, through MVC, GraphQL, to BFFs and React Server Components.
PhonePe’s Server State Management via Senzu and PIOUS: An Overview
Following up on the blog about PhonePe’s Internal Cloud Provisioning service, this blog addresses inventory addition flow management that makes it easier for the Procurement team, Site Operations (Siteops) team and the Tools team to track assets coming into our data centers,…
Building PhonePe’s Real-Time Transaction Model to prevent Frauds: A Journey
The Trust and Safety team at PhonePe are problem-solvers and a team of analysts, engineers, and product folks. They are the subject matter experts in this field who combine domain expertise, statistical knowledge, and computer science skills to solve various problems around…
What we learnt by migrating from CircleCI to Buildkite
We recently rolled out a new CI system at Hasura and we are writing this post to take you on a journey about why and how we did it. This is a collection of ideas and implementation details which we believe to have helped us arrive at an optimal solution that worked out for us.
FENCE — Leveraging Graph Database for detection of Fair Play Violation at Dream11
FENCE — Leveraging Graph Database for detection of Fair Play Violation at Dream11 Dream11 takes pride in being a unique platform that enables over 110 million fantasy sports users to demonstrate their skills, showcase their sports knowledge, and connect deeper with the sport…
Building a GraphQL to SQL Compiler on Postgres, MS SQL and MySQL
The release of Hasura 2.0 included one of the most exciting features to date - multiple database backends, and in particular, support for our first new backend, Microsoft SQL Server. On the face of it, this probably seems like a relatively straightforward change.
This release contains some large refactorings to the core of the Hasura product, as well as some large new feature additions. I’m going to talk about the software engineering tasks we tackled, challenges we encountered and how we met them.
An Overview of Building the PhonePe App The PhonePe app has expanded from 0 to 150M+ in less than 30 months. Our app is growing uniquely in multiple dimensions. It’s not only adding more business-verticals, but every vertical is adding more features, which in turn are getting…
We recently welcomed our new batch of 25 engineers from premier institutes. Our fresh from campus hires, went through the coveted on-boarding program “Bootcamp 2019.” The Bootcamp saw them learn about server side architecture, the tech stack and the engineering design philosophy…
As we complete three years and begin our fourth, I can’t help but feel proud of the immense success we have achieved with our product – over 150+ million users on our platform have translated into 50+ million daily app sessions, totaling an incredible 500,000 hours on PhonePe…