Inspiration
Many people struggle finding a trustworthy healing resources in their local communities. Most healthcare focus on mainstream conventional services which could be overpriced. They overlook natural practices such as ecological medicine, cultural healing, food & farming as medicine, ecological restoration, and spiritual medicine. According to the 2025 Tufts survey, they discovered that "while 14 million Americans are clinically eligible for MTMs, less than 1% currently receive them due to fragmented referral pipelines and a lack of "interoperable" digital infrastructure between farms and clinics." Therefore, inspired by Cultivating Self's mission, our goal was to bridge this gap and create a interactive map while also making it UI friendly that makes the practices outside of the conventional services more accessible.
What it does
EcoMap is an open source interacted map that helps people connect and search for integrative healing resources near them. Users can explore and filter the map based on Cultivating Self's five pillars (Ecological Medicine, Cultural Medicine, Food and Farming as Medicine, Ecorestoration, and Spirituality as Medicine). They can also search for resources by what health issues they are experiencing. There are two modes, general mode and a personalized mode. First the general mode is generalized and inconclusive so you can explore all the clinics no matter what health condition you are feeling. We implemented two different modes: General Mode and Personalized Mode. Generalized mode is more inclusive. The personalized mode utilizes an onboarding survel that maintains your data so you can have a personalized experience. This personalized experiences allows you to create appointment reminders, keep track of data on past appointments, only display the clinics for your specific needs. Also to keep this sustainable, we added a feature so community members can suggest new resources and then are confirmed by administrators.
How we built it
The application doesn't rely on any outside API's aside from MapboxGL for the map box itself and built-in functions that MapboxGL offers for easy implementation. The application is client side only without a backend, and is built with React.
Resources come from local JSON and are managed through React Context + hooks, which power the search + filtering UI and keep the map markers and list results in sync. Users can click into a resource detail drawer, and switch between Map and a paginated List for smoother performance.
For engagement, we added Elemental Mastery: users can log “Complete Visit” check-ins, earn XP across Fire/Water/Air/Earth, and view progress on a dashboard. This data is stored in localStorage (no backend needed), and the UI is designed to be mobile-friendly with responsive layouts and touch-friendly profile navigation.
Challenges we ran into
One of the biggest challenges we faced was implementing the Elemental Mastery feature. Considering it was our last feature, there was already a whole system built in place for the application and finding a way to neatly squeeze in Elemental Mastery was hard. We had to create new UI button with the functionality of "checking in" to services, which would in turn require the app to update state to add to the elemental mastery XP. A feature we thought would be cool to implement because of the extra time we had ended up becoming a large change to the architecture of the application.
Accomplishments that we're proud of
Overall we're proud of our implementation of the application, but we are most proud of being able to piece together a complete app. Our favorite feature that we made were the elements/elemental mastery as it upgraded the application from a simple navigation app to something interactive and engaging to the user. It allows the user to gamify their experiences and to be more inclined to approach these services/community areas
What we learned
Our team had a member that already worked extensively on GIS systems, so they were able to guide us well with how GIS and Mapboxes work with one another. Additionally, we learned a lot about the user feedback cycle. This track simulated a real client-developer relationship wherein we figured out what the requirements of the users were and implement them based on their mission.
What's next for EcoMap
Create an OAuth architecture for safe suggestion adding for maintainers, create custom icons for UI such as the elements, improve on the search bar to allow users to search up full sentences on how their feeling and match them with specific resources.
Built With
- css
- javascript
- mapboxgl
- react
- vite
Log in or sign up for Devpost to join the conversation.