Inspiration TerpMap was inspired by a simple problem on campus: important information spreads fast, but not always clearly. Students often hear about road closures, parking disruptions, safety concerns, construction, or campus events through scattered group chats, word of mouth, or social media posts. We wanted to build a shared, map-based system that gives the University of Maryland community one place to quickly understand what is happening around them in real time.

What it does TerpMap is a live, student-powered campus map for reporting and viewing events at UMD. Users can drop pins on the map, add descriptions and pictures, search and filter events by time and category, and vote reports up or down to surface the most useful information. Similar reports can be merged together to reduce clutter, old events are automatically removed, and an AI-powered campus summary helps users understand the current situation at a glance based on the events visible in the selected view.

How we built it We built TerpMap as a Flask web app with a SQLite backend and a JavaScript frontend using Leaflet and OpenStreetMap for the interactive campus map. Authentication supports Google and UMD email verification. On the backend, we added event storage, voting, merging, filtering, cleanup logic for expired reports, and AI summary generation using the OpenAI API. On the frontend, we designed a map-first interface with a live event feed, floating pin composer, campus summary panel, search, and compact filters to make the experience fast and easy to use.

Challenges we ran into One challenge was making the map feel useful instead of overwhelming. If every report stayed separate, the feed became noisy, so we added merge functionality and time-based filtering. Another challenge was getting AI summaries to be specific enough to help users instead of producing vague descriptions, so we improved the prompt by passing only the currently visible events and enriching reports with inferred campus locations like nearby roads, lots, and buildings. We also had to make the UI more intuitive, especially around pin creation, so users immediately understand how to add a report.

Accomplishments that we're proud of We are proud that TerpMap feels like a real campus tool rather than just a map with pins. The app supports pictures, search, voting, category and time filtering, duplicate-event merging, automatic cleanup of stale reports, and a campus-wide AI summary that reflects the current visible map view. We are also proud of the user experience improvements, especially the floating pin panel, cleaner event cards, and more polished login and landing flow.

What we learned We learned that good civic or community tools are not just about collecting information, but about helping people trust and understand it quickly. On the technical side, we learned how much prompt quality improves when AI is given structured, filtered, location-aware input instead of raw text alone. We also learned that small UX details, like where the pin form appears or how filters are grouped, can have a huge effect on whether users actually understand how to use the product.

What's next for TerpMap Next, we would want to improve location intelligence with richer campus mapping data so summaries and reports can be even more precise. We would also add moderation and trust systems, better mobile optimization, saved alerts for nearby incidents, and analytics that show trends across time. Longer term, TerpMap could grow into a broader campus awareness platform that helps students navigate day-to-day disruptions with much more confidence.

Built With

Share this project:

Updates