Blog
Thoughts on engineering and technology
H3 Sharding: Why Primes Compose and Composites Don't
Sharding 32K adaptive H3 cells across workers and time with modulo assignment. Why even worker counts silently fail, and why primes are required when stacking dimensions.
Adaptive H3 Aggregation for 73M Places (Without Losing Detail)
A practical pattern for adaptive-resolution H3 rollups in Postgres: emit the coarsest cell under a count threshold, with strict parent/child nesting.
Browser SQL Gets Serious: FTS, Pipelines & Shareable State (Part 3)
DuckDB FTS indexes built in-browser, a reactive filter pipeline that compiles to SQL, draw-to-select instead of viewport queries, session persistence, and shareable URL state — all without a backend.
Overture Maps Data Lake in Browser: DuckDB-WASM & Edge Metadata (Part 2)
A dynamic, release-aware Overture Maps GeoParquet browser: DuckDB-WASM SQL in the client, edge-cached metadata for file discovery, and UX patterns that make slow data feel predictable — while staying cheap.
Optimizing Spatial Queries: When Polygon Simplification Helps (and When It Doesn't)
Benchmarking polygon simplification for PostGIS spatial queries across 200 divisions — where it shines, where it hurts, and why.
SQL in the Browser: Querying 2.3 Billion Records with Zero Backend
An experiment with Claude, open data, and a SQL-first approach to frontend development - querying Overture Maps directly from S3 using DuckDB-WASM.