🛡️ MapGuard GeoTool
🌟 Inspiration
Many developers and students face barriers when experimenting with location-based features due to the complexity or cost of geospatial APIs. We wanted to create a free, fast, and developer-friendly tool that makes it easy to perform essential geospatial tasks—without worrying about API keys, rate limits, or billing. MapGuard GeoTool was born to bridge that gap.
🔍 What it does
MapGuard GeoTool provides a lightweight web interface to:
- 📍 Geocode: Convert any address to geographic coordinates
- 🔁 Reverse Geocode: Convert coordinates to a readable address
- 📏 Distance: Calculate distance between two locations
- ⚠️ Risk Score: Simulate environmental or safety risk in an area
- 🗺️ Visualize all results on an interactive folium map
All powered using open-source APIs—no sign-ups, no billing.
🛠️ How we built it
We built MapGuard using:
- Python for all backend logic
- Streamlit for rapid UI development
- Folium + Leaflet.js to render beautiful maps
- OpenStreetMap Nominatim API for geocoding
- Geopy for distance calculations
- Streamlit-Folium to integrate maps in the app
The app runs entirely in the browser and can be deployed instantly using Streamlit Cloud.
🧗 Challenges we ran into
- Handling rate limits and inconsistent results from public APIs
- Preventing map flickering due to Streamlit reruns — solved using
st.session_state - Keeping the UI minimal while integrating maps and form inputs
- Ensuring a fallback in case Nominatim returns multiple or empty results
🏆 Accomplishments that we're proud of
- Built a fully working, zero-cost geolocation tool in under 2 days
- Created a tool that can help other developers prototype location features easily
- No setup required: it runs on Streamlit Cloud and works even on mobile
- Open-source and extendable — can be adapted into real apps
📚 What we learned
- How to integrate real-world geographic data with interactive Python visualizations
- Streamlit tricks to manage state and improve performance
- How open mapping tools like OpenStreetMap can empower innovation
- The importance of building tools for other developers, not just end users
🚀 What's next for MapGuard GeoTool
- 🔑 Add support for Google Maps API (for enterprise users)
- 📄 CSV upload for batch geocoding & risk reports
- 🛰️ Integration with real-time traffic/crime/environment data sources
- 📦 Publish as a Python package (
mapguard-cli) - 🤝 Community contributions: extend the risk score logic with real datasets
- 📱 Mobile-friendly redesign and shareable map links
Built with ❤️ for the Google Maps Platform Awards 2025 - Developer Community Category
Built With
- folium
- geopy
- nominatim
- openstreetmap
- python
- streamlit
Log in or sign up for Devpost to join the conversation.