February 6, 2026
Hex marks the brawl
How we made geo joins 400× faster with H3 indexes
400× faster geo joins? Hex grid hype sparks 'wrong tool' vs 'use indexes' brawl
TLDR: Floe claims it made map-based joins way faster by using Uber’s hex grid (H3) to prefilter results. Commenters split: some say H3 is the wrong tool and a basic spatial index would suffice, others report big wins in the wild—while a side drama slams the site’s scroll-hijacking UX.
Floe says it turned a map math headache into a speed run: take slow “do these shapes touch?” checks and prefilter them with Uber’s hex grid system, H3, so the database does easy number matching first. They’re bragging up to 400× faster, and the internet did what it does best—argue.
The loudest pushback came from the “you picked the wrong grid” camp. One commenter dropped the academic hammer, warning that H3 isn’t built for precise analytics and lacks “congruency,” basically saying it’s great for pretty maps, not heavy math. Another skeptic rolled in with the classic tech shortcut: “Why not just use a spatial index?” Translation: do we need hex magic when old-school indexes often work?
But it wasn’t all side-eye. A practitioner chimed in with real-world receipts: they’re already using H3 for hundreds of millions of GPS points in Elasticsearch—turning map lookups into fast text-like searches and counting overlaps like a champ. Meanwhile, another commenter wondered if geohash (the square cousin of H3) would’ve been simpler for NoSQL setups, even if it’s messier around the edges.
And because this is the internet, the website itself caught strays. Multiple folks dunked on the blog’s scrolling hijinks for “garbling page history,” spawning a mini-meme about the true bottleneck being… the browser back button.
Bottom line: speed thrills, but the grid wars are real—H3 lovers tout massive wins, while purists question if it’s the right tool or just clever marketing. Read the room: it’s hexes vs hashes vs “just use indexes,” with extra points for UX rage.
Key Points
- •Geospatial joins are slow at scale because spatial predicates lack clean join keys, leading to expensive, near-quadratic comparisons.
- •Floe uses H3 to represent geometries as sets of hexagonal cell IDs (BIGINTs), enabling integer equi-joins on shared cells.
- •The query is rewritten into a fast filter (H3 cell join and deduplication) followed by an exact geometry recheck (e.g., ST_Intersects).
- •H3 coverage is a conservative approximation that allows false positives but avoids false negatives to preserve correctness.
- •The approach leverages standard database optimizations for integer joins and claims speedups up to 400×.