Inspiration
Our inspiration came from a deeply personal experience. One of my brother had a panic attack in the bus while going to his university and later he was frustrated that there was no one or nothing that could help guide him to calm down. This led us to create Calmify—a tool designed to offer instant, accessible support during moments of anxiety for people who have to deal with anxiety, panic attacks or issue related to mental health.
What it does
Calmify helps users quickly find nearby calming spaces, such as parks, gardens, benches, and outdoor cafés, using an interactive map. The app leverages the browser's Geolocation API to determine your current location and Mapbox to display the map and plot markers. It also includes a chat companion that interacts with users using empathetic responses generated by the Gemini API. User can interact with this companion via text or voice, making it easier to get help when users are in a state of panic.
How we built it
We built Calmify by integrating several cutting-edge technologies:
- Mapbox API: For interactive mapping, marker placement, and routing.
- Overpass API (OpenStreetMap): To query and fetch data on nearby calming places.
- Browser's Geolocation API: To obtain users current location.
- Gemini API: To generate empathetic chat responses that help validate and support users feelings.
- Web Speech API: For both speech recognition (converting spoken input into text) and text-to-speech (vocalizing the companion's responses).
Challenges we ran into
- API Integration: Combining data from Mapbox, Overpass, and Gemini required careful coordination of requests and robust error handling.
- Voice Features: Ensuring smooth and reliable voice input/output across different browsers posed a challenge due to varying support and performance.
- User Experience: Designing a simple, non-intrusive interface that remains effective even when a user is anxious.
- Performance Optimization: Fetching data from multiple external APIs without impacting the user experience.
Accomplishments that we're proud of
- Seamlessly integrating multiple APIs into one cohesive, interactive experience.
- Developing a responsive chat companion that not only provides empathetic text responses but also speaks them aloud.
- Crafting an intuitive user interface that makes it easy to locate calming spaces and get instant support during moments of anxiety.
- Overcoming technical hurdles with voice recognition and text-to-speech to deliver a hands-free, calming experience.
What we learned
- API Coordination: How to effectively integrate and manage multiple APIs, handling asynchronous data flows and ensuring smooth communication between services.
- Voice Interaction: The intricacies of the Web Speech API for both speech recognition and text-to-speech, and the importance of testing across various browsers.
- User-Centric Design: The critical role of empathetic and accessible design, particularly for tools aimed at helping users in distress.
- Rapid Prototyping: How to iterate quickly during a hackathon while balancing feature development with performance and user experience.
What's next for Calmify
- Enhanced Calming Techniques: Expand the range of calming techniques and personalized advice based on mood tracking and user feedback.
- Advanced Voice Synthesis: Explore neural text-to-speech solutions for even more natural and soothing vocal responses.
- Additional Support Features: Integrate features like guided meditation, journaling prompts, and direct links to mental health resources.
- User Personalization: Incorporate user history to tailor suggestions and responses more precisely. -Emergency Contacts: Integrate emergency services that would directly contact their family or even health services like ambulance
Built With
- css
- flask
- geminiapi
- geolocationapi
- html
- javascript
- mapboxapi
- overpass-openstreetmap
- python
- webspeechapi
Log in or sign up for Devpost to join the conversation.