HN Debrief

Map Clustering Is Not My Favorite

  • Data Visualization
  • Geospatial
  • Developer Tools
  • Design
  • Open Source

The post is a practical critique of the standard “bubble with a number” pattern on point-heavy maps. It shows that on modern WebGL map stacks like MapLibre, you can often render tens of thousands of points directly, and that many clustered maps hide useful structure, create awkward zoom transitions, and force extra clicking before users can see what is actually on the map. The preferred alternative is simple point rendering with opacity so overlap naturally signals density.

If your product uses maps, treat clustering as one option, not the default your SDK hands you. Test whether users actually need density, counts, or item-level selection, then pick separate behaviors for each instead of assuming one cluster interaction can do all three.

Discussion mood

Mostly positive toward the critique, driven by frustration with bad default clustering in consumer maps and mapping libraries. The main pushback was that the post overstates its case because clustering still helps with aggregate counts, identical coordinates, and performance on weaker SDKs or much larger datasets.

Key insights

  1. 01

    Aggregate and item views are separate jobs

    Clustering survives because it is one of the few off-the-shelf ways to bridge two very different map tasks without swapping layers. Users want a broad sense of spatial distribution when zoomed out, then point-level details when zoomed in. Heatmaps, hex bins, and other aggregations can do the first job better, but they usually require a second representation for the second job, which makes the experience feel stitched together instead of continuous.

    Design your map around the mode switch first. If users need both overview and drill-down, decide whether a single continuous interaction really matters or whether two explicit layers will be clearer.

      Attribution:
    • perrygeo #1
  2. 02

    Identical coordinates need their own UI

    Shared locations do not go away just because you stop clustering. If many records resolve to the same building, room, or address, a single point still needs a click target that opens a list, table, or panel for all records at that location. “Spiderfy” helps when users must inspect separate markers one by one, but for many products a count badge plus a popup list is more useful than exploding identical points into a ring.

    Handle same-coordinate records as a product requirement, not a rendering detail. Pick between list-on-click, count-in-marker, or spiderfy based on whether users choose among items or just need to know what is there.

      Attribution:
    • smeej #1
    • gregsadetsky #1
    • apwheele #1
  3. 03

    Clustering can be invisible infrastructure

    Even if you dislike visible cluster bubbles, the same machinery can still make maps faster. One commenter described using tiny-radius clustering in Mapbox and MapLibre to render what looks like plain dot density, with opacity driven by point_count, and to feed weighted heatmaps from clustered sources. Users get a nearly unclustered visual result, but performance holds up much better at hundreds of thousands of points.

    Separate the visual choice from the data pipeline choice. You can reject cluster bubbles in the UI while still using clustering internally to keep large maps smooth.

      Attribution:
    • mourner #1
  4. 04

    Projection and map meaning still matter

    A sharper criticism was that many web maps focus on smooth interaction and ignore geospatial correctness. Heatmaps often leave basic questions unanswered about what quantity is being measured and over what area, and Web Mercator distorts space in ways that matter outside casual consumer browsing. OpenLayers was cited as a better fit when you need multiple projections and more GIS-like behavior than MapLibre or Leaflet usually target.

    If your map informs operational or scientific decisions, validate the projection and the metric before polishing the interaction. A fast renderer does not fix a map that encodes the wrong geography.

      Attribution:
    • willtemperley #1
    • xemoka #1
  5. 05

    Most web heatmaps are visually sloppy

    The alternative to clustering is not automatically good just because it is not clustering. Commenters called out the common web heatmap style as too blobby and auto-recalibrated, which makes zooming misleading and wipes out stable visual comparisons. Filled contours, static zoom-level tiles, polygons, or actual spatial hotspot methods like DBSCAN were suggested as more interpretable ways to show concentration.

    If you replace clusters with a density layer, test whether users can compare areas across zoom levels and read actual boundaries. A prettier blur is still weak analysis.

      Attribution:
    • apwheele #1
    • crabmusket #1

Against the grain

  1. 01

    Counts can be more informative than dots

    For some map tasks, the point is not to inspect every marker but to understand how many things are in an area. In those cases, cluster counts or other area-based totals can carry more useful information than a carpet of dots, especially when a whole country or city is saturated. Treating every cluster as a UX failure misses cases where aggregated counts are the thing users came to see.

    If your users ask questions like "how many are in this region," show counts directly. Do not force them to infer totals from opacity and overlap.

      Attribution:
    • Demiurge #1
    • paganel #1
  2. 02

    Mobile SDK limits are still real

    The post's confidence about modern hardware drew pushback from people shipping native map apps. Several said Google Maps, Apple Maps, and MapKit still struggle in practice with hundreds to low thousands of markers unless you do careful engineering, though one iOS developer reported acceptable performance around 4,000 annotations on recent hardware. The gap is not just device power. It is also the quality of the SDK renderer you are stuck with.

    Benchmark on the actual map stack you ship, not the one from a web demo. Your renderer may force clustering or other batching long before the hardware itself does.

      Attribution:
    • well_ackshually #1
    • mjmsmith #1
    • ChrisMarshallNY #1
  3. 03

    Good clustering usually means gentler clustering

    Several comments argued that the best examples do not reject clustering. They tune it. Hotels.com was praised for breaking clusters apart earlier, letting clusters and individual markers coexist at the same zoom, and putting useful information like price on the marker. Others noted that simple settings such as maxZoom already fix some of the worst behavior in overaggressive defaults.

    Before replacing clustering wholesale, try loosening it. Earlier breakout, mixed cluster and point display, and better marker content can solve a lot of user pain with less engineering.

      Attribution:
    • francisofascii #1
    • gregsadetsky #1
    • mapmeld #1

In plain english

DBSCAN
Density-Based Spatial Clustering of Applications with Noise, a clustering algorithm that groups nearby points into data-driven clusters.
GIS
Geographic Information System, software and methods for storing, analyzing, and displaying spatial data.
hex bins
A way of aggregating many points into hexagonal cells so density or counts can be shown by area instead of individual markers.
Leaflet
A widely used open source JavaScript library for interactive web maps.
Mapbox
A mapping platform and set of SDKs for building interactive maps and geospatial applications.
MapKit
Apple’s framework for embedding maps and location features in apps.
MapLibre
An open source web mapping library used to render interactive maps and large spatial datasets in the browser.
OpenLayers
An open source JavaScript mapping library with stronger support for projections and GIS-style map work.
point_count
A field often produced by clustering that stores how many original points were grouped into a cluster.
SDK
Software development kit, a package of libraries and tools used to build against a platform or service.
spiderfy
A map interaction pattern where overlapping markers spread out around a point after a click so each item can be selected separately.
Web Mercator
A common web map projection that makes online maps easy to tile and display but distorts size and distance, especially near the poles.
WebGL
Web Graphics Library, a browser API for rendering accelerated 2D and 3D graphics using the GPU.

Reference links

Map design references

Example maps and demos

Talks and explanations

Source data and article materials