The secret to 10-minute delivery isn't driver speed.
The average delivery distance is shorter than your morning walk.
Dark stores are everywhere, hiding in plain sight.
I mapped quick-commerce infra in Indian cities. Every dark store, real routing data, actual coverage zones across major urban hubs, across Blinkit, Zepto, and Instamart.
The Problem We're Solving
Quick-commerce companies like Blinkit, Zepto, and Instamart promise 10-minute deliveries. But how much of a city can they actually reach in that time? This map answers that question by showing the true delivery footprint of every dark store.
Step 1: Finding All the Dark Stores
We needed the locations of every dark store across major Indian cities. A community member on Reddit (u/sigmaAs) had already mapped these stores using Google Maps. We exported that data as a geographic file (KML format) containing the exact coordinates of each store, organized by brand.
Result: A dataset of all known Blinkit, Zepto, and Instamart dark store locations across Bangalore, Mumbai, Delhi, Hyderabad, and Pune.
Step 2: Generating Coverage Zones (Isochrones)
Instead of drawing simple circles around each store (which would be inaccurate), we used isochrones. These are shapes that represent all the areas reachable from a point within a specific time, accounting for actual roads, one-ways, and traffic patterns.
We used two different calculation methods:
- For Walking (Customer Accessibility): Based on average human walking speed of 5 km/hr. Shows what areas a customer can walk to the store from in 10 minutes.
- For Delivery (Rider Coverage): Based on area-specific average speeds for delivery riders. Different neighborhoods have different speeds based on road conditions and traffic density.
For example: Koramangala averages 15 km/hr, Whitefield averages 22 km/hr, while HSR Layout averages 17 km/hr. These speeds were calibrated for each locality across all five cities using Geoapify's Isolines API.
Step 3: Pre-Computing Everything
Real-time API calls for hundreds of stores would be slow and expensive. So we pre-computed all the isochrone data: Every city × Every store × Both modes (walk + delivery).
This resulted in high-fidelity polygon data stored as JSON files. When you open the app, it loads instantly because everything is already calculated.
Data sizes give you an idea of coverage density:
- Bangalore delivery mode: ~54 MB of polygon data
- Delhi delivery mode: ~49 MB of polygon data
- Pune and Hyderabad: ~11-12 MB each
Step 4: Adding Orientation Layers
A coverage map is only useful if you can orient yourself. We added:
- Metro Lines: Extracted from Overpass Turbo (OpenStreetMap). Queried for all metro/rail lines with their official colors, exported as GeoJSON, and overlaid on the map.
- Geographic Features: Lakes, parks, and major landmarks are visible on the base map with city labels and neighborhood names for quick reference.
Step 5: The Visualization
Everything comes together on an interactive Leaflet map:
- Heatmap Mode: Overlapping coverage areas blend together, showing coverage density.
- Polygon Mode: Individual store coverage zones are visible with clear boundaries.
- Brand Filtering: Toggle between Blinkit (yellow), Zepto (purple), and Instamart (orange).
- Quick Navigation: Jump to specific neighborhoods using area pills.
Key Insights
- Coverage Gaps: Instantly see which areas are underserved.
- Brand Comparison: Compare which platform has better coverage in your neighborhood.
- Accessibility Analysis: Click anywhere to test if that location is within 10-minute reach.
Reports snapshot
21 Dec – 11 Jan • 100% of available data
Explore the reality of the 10-minute promise at darkstoremap.in.