Apps & dashboards

Interactive map applications: Streamlit, pydeck and the browser budget that decides what they can show.

What a browser can hold: feature counts against what has to change to show them. the browser decides how much you may show50,000500,0005,000,000draws as GeoJSONneeds WebGL, and careneeds tiles, or aggregationThe limit is memory on the client, not bandwidth — which is why sending it faster does not help

An interactive map application is a rendering budget with some analysis attached. Fifty thousand features draw as GeoJSON without thinking about it; half a million need WebGL and care; five million need tiles or aggregation, because the limit is memory on the client rather than bandwidth — which is why sending it faster does not help.

The rest of the topic is about state and reruns. Streamlit reruns the whole script on every interaction, so anything expensive has to be cached and anything stateful has to be stored deliberately. pydeck and MapLibre move the drawing onto the GPU but not the memory problem. And the map is usually the part people click first, so the interaction model matters as much as the layer.

The pages below cover the frameworks, the layer types, caching and state, and the specific ways an app becomes unusable as the data grows.

Learning paths run through this topic too — see the end of this page.

🧭 Start with the concepts

The ideas the how-to guides below assume you already have.

⚙️ Then do the task

Step-by-step walkthroughs with code you can copy and adapt.

Show every how-to guide in this topic

🔧 When it breaks

The errors this topic produces, with the cause explained rather than just the command.

Related topics

Subjects that keep coming up alongside this one, most overlap first.

Keep browsing

Apps & dashboards sits in Delivery & sharing. Every topic on the site is listed on the topics index.