How It Works
AGMT is designed around one principle: your data never leaves your computer.
Local-First Architecture
Everything runs inside your browser. There is no backend server, no database, no account required.
What Runs Where?
| What | Where It Runs | Technology |
|---|---|---|
| Map rendering | Your browser | Leaflet + OpenStreetMap tiles |
| Shape drawing | Your browser | Leaflet Draw |
| Street lookups | Your browser → Overpass API | Fetch API |
| Address counts | Your browser | DuckDB-Wasm |
| Team management | Your browser | LocalStorage |
| Data analysis | Your browser | DuckDB-Wasm |
What Does Go Over the Network?
Only two things leave your browser:
- Map Tiles — background imagery from OpenStreetMap
- Street Queries — boundary coordinates sent to Overpass API
The Overpass API only receives boundary coordinates — never your labels, teams, colours, or any project metadata.
The Local Data Engine (Advanced Data Analysis)
AGMT uses DuckDB-Wasm — a lightweight, in-browser version of the DuckDB database — to power all data analysis features.
What It Powers
- ✓
Address counts — instant totals per street, per team
- ✓
Data aggregation — cross-shape and cross-team statistics
- ✓
Leicester precision — building-level accuracy using OS Open UPRN
No data is sent to a remote database. DuckDB processes everything on your own device. Learn more about how AGMT counts addresses in this deep dive →.
Regional Accuracy
| Region | Data Source | Accuracy | How |
|---|---|---|---|
| Leicester City | OSM + OS Open UPRN | Building-level | DuckDB matches addresses locally |
| All other locations | OpenStreetMap | Street-level | Overpass API query |
For tips on what to do if the browser runs out of memory, see Troubleshooting.