An agentic AI system that validates and corrects stale location data in the Overture Maps Places dataset
Open map data is only as powerful as it is accurate but businesses close, move, and change faster than any dataset can keep up with. TerraLogic solves this.
TerraLogic is an agentic AI pipeline that autonomously pulls Places data from the Overture Maps Foundation dataset, cross references each location against live web sources, and flags or proposes corrections for stale, incorrect, or outdated entries surfacing everything in a clean human-review dashboard.
This directly addresses one of Overture's own stated challenges: "No one in mapping has fully solved the challenge of ensuring accurate, up-to-date data on places."
| Name | GitHub |
|---|---|
| Preetam Donepudi | @pdonepud |
| Devesh | @d-vesh |
| Ashmita | @duashmita |
- Overture Places ingestion โ queries GeoParquet data via DuckDB or the Overture Python CLI for a target city/region
- AI-powered cross-referencing โ an LLM agent checks each place against live web sources to detect closures, moved locations, wrong hours, or name changes
- Confidence scoring โ each flagged entry receives a staleness score (0โ1) with source citations
- Correction proposals โ the agent generates structured, Overture-compatible correction suggestions
- Web interface for reviewing flagged locations on an interactive map
- Approve / reject / skip correction proposals with one click
- Filter by confidence score, category, or region
- Export validated corrections in GeoJSON / GeoParquet format for potential upstream contribution to Overture
- Track validation coverage over time
- Breakdown of error types (closed, moved, wrong name, wrong category)
- Per-region accuracy heatmaps
terra-pulse/
โโโ README.md # This file
โโโ requirements.txt # Python dependencies
โ
โโโ pipeline/
โ โโโ ingest.py # Pull Places data from Overture via DuckDB
โ โโโ agent.py # AI validation agent (LLM + web search)
โ โโโ scorer.py # Confidence scoring logic
โ โโโ exporter.py # Output corrections in Overture-compatible format
โ
โโโ backend/
โ โโโ api.py # FastAPI backend
โ โโโ models.py # Database models
โ โโโ requirements.txt # Backend dependencies
โ
โโโ frontend/
โ โโโ src/
โ โ โโโ App.jsx # Main React app
โ โ โโโ components/ # Dashboard UI components
โ โ โโโ pages/ # Map view, review queue, analytics
โ โโโ package.json
โ
โโโ docs/
โโโ index.html # GitHub Pages landing page
โโโ ARCHITECTURE.md # System architecture and data flow
- Python 3.10+
- Node.js 18+
- DuckDB
git clone https://github.com/project-terraforma/terra-pulse.git
cd terra-pulsepip install -r requirements.txt# Download Places data for a bounding box (example: San Francisco)
python pipeline/ingest.py --bbox="-122.51,37.70,-122.36,37.81"
# Run the AI validation agent
python pipeline/agent.py --input data/places.geojson
# View results
python pipeline/exporter.py --output results/flagged_places.geojson# Backend
cd backend
pip install -r requirements.txt
uvicorn api:app --reload
# Frontend (in a new terminal)
cd frontend
npm install
npm run dev| Layer | Tools |
|---|---|
| Map Data | Overture Maps (GeoParquet, DuckDB, Python CLI) |
| AI Agent | Claude API (reasoning + web search tool) |
| Backend | Python / FastAPI |
| Frontend | React + Leaflet / MapLibre GL |
| Database | PostgreSQL + PostGIS |
| Deployment | Vercel (frontend) ยท Railway (backend) |
Overture Maps Places Data (GeoParquet)
โ
โผ
โโโโโโโโโโโโโโโโโโโ
โ Ingest Module โ โ Query via DuckDB / overturemaps CLI
โโโโโโโโโโฌโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโ
โ AI Agent โ โ LLM cross-references each place against live web sources
โ (Claude API) โ (business status, hours, address, name)
โโโโโโโโโโฌโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโ
โ Confidence โ โ Scores each entry 0โ1 for staleness
โ Scorer โ with source citations
โโโโโโโโโโฌโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโ
โ Review Dashboardโ โ Human approves / rejects corrections
โโโโโโโโโโฌโโโโโโโโโ
โ
โผ
Overture-Compatible Correction Output (GeoJSON / GeoParquet)
- Overture Places ingestion via DuckDB
- AI agent with web search cross-referencing
- Basic confidence scoring
- GeoJSON export
- React frontend with map view
- Review queue (approve / reject / skip)
- FastAPI backend + PostgreSQL
- Filter by region / confidence / category
- Overture-compatible GeoParquet output
- Analytics & heatmaps
- GitHub Pages landing page
- Performance benchmarking vs known ground truth
| Document | Description |
|---|---|
| ARCHITECTURE.md | System architecture and data flow |
| CONTRIBUTING.md | How to contribute |
This project was built for the Overture Maps Foundation as part of Project Terraforma, Spring 2026.
Overture Maps provides open, interoperable map data standardized across six themes โ Addresses, Buildings, Places, Divisions, Transportation, and Base โ and powers map products used by hundreds of millions of people worldwide.
This project is licensed under the Apache 2.0 License โ see LICENSE for details.
- Overture Maps Foundation for open, production-ready geospatial data
- Project Terraforma for the course framework and community
- Anthropic for the Claude API powering the validation agent
Last Updated: April 2026