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.

<div class="project-links">

<a href="https://darkstoremap.in/" class="notes-button" target="blank">Explore the Live Map →</a>

</div>

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.

<p class="blog-conclusion"> Explore the reality of the 10-minute promise at <a href="https://darkstoremap.in/" target="blank">darkstoremap.in</a>. </p>