Why Mapsurvey
Capabilities
Respondents mark places, draw routes, and outline areas directly on the map. Mobile-friendly with crosshair mode for precise input.
Text, number, choice, rating, date, image — plus three cartographic types. Sub-questions that appear based on answers. Visual drag-and-drop editor.
One survey, multiple languages. Questions, choices, and the thank-you page all support translation. Respondents pick their language on entry.
Download responses with geodata in a single ZIP. GeoJSON + CSV, ready for QGIS, Excel, Python, or R. Import and export survey structures for reuse.
Three commands in the terminal and the platform runs on your server. Or just sign up on mapsurvey.org — nothing to install.
Full source code on GitHub. Adapt, extend, contribute. AGPLv3 license guarantees the code stays open forever.
Try it
Who it's for
Ask residents where they need bike lanes, where crossings feel dangerous, where parks are missing. People draw routes and outline neighborhoods — not just drop pins.
Run spatial studies without paying for expensive platforms. Download results, analyze in your tools, publish. Cite the open-source tool in your papers.
Deploy on your own server for participatory budgeting, public space assessments, or transit route planning. Full control, zero vendor lock-in.
Citizen data never leaves your infrastructure. No vendor lock-in. No annual subscription. Compliant with data sovereignty requirements.
Under the hood
Django 4.2 + GeoDjango + PostGIS
├── Survey engine
│ dynamic forms, session management
├── Visual editor
│ HTMX + SortableJS, 3-column layout
├── Data export
│ GeoJSON + CSV in one ZIP
├── Import / export
│ survey structure as JSON
└── Leaflet widgets
point / line / polygon drawing
$ git clone https://github.com/ganjasan/mapsurvey.git
$ cp .env.example .env && docker compose up --build
$ open http://localhost:8000 # done.
Want full control? Self-host Mapsurvey on your own infrastructure.