parquet · http range requests · zero backend

Search the World's Places

Cloud-optimized prefix and free-text search over the world's places — 5.2M GeoNames rows served as static parquet from object storage, pruned by row-group statistics directly in your browser with DuckDB-WASM. No backend, no server.

loading query engine (~30 MB, cached by browser)…

5,234,721populated places
2,318shard members in one file
< 1 MBbytes touched per warm query
~50 mswarm query, all client-side

nkey sorted, prefix pruned

Rows are sorted by normalized name; each row group's min/max narrows a name prefix to one contiguous block.

wc — spaces are part of the query

A word-count column with min/max stats lets multi-token searches skip whole single-word blocks before any chunk is downloaded.

, region for scope

Everything after the comma filters admin1 — "columbus, oh" finds Columbus, Ohio, not Columbus, Georgia.