Inspiration

As a team of outdoor enthusiasts, we’ve all had those moments where the unexpected happens—getting lost, an injury, or sudden weather changes. We realized how vulnerable we felt without instant access to the right information or emergency help. That shared experience drove us to create Campanion, an AI tool designed to provide real-time guidance and safety tips, so explorers like us can stay prepared and enjoy nature with peace of mind. Our goal is to turn those uncertain moments into empowering ones, giving every adventurer the confidence to explore safely.

What it does

Campanion takes as input the hike you're planning on going on and what items you plan on carrying in your bag during the hike, and then provides personalized safety recommendations, potential hazard alerts, and essential tips based on the terrain, weather conditions, and your equipment. In case of danger, you can trigger an emergency alert to notify your contacts with your location. Plus, you can chat with the bot to learn how to safely navigate the outdoors, getting real-time guidance and advice tailored to your specific situation.

How we built it

Our back-end is powered by Python, integrated with Chroma DB to efficiently manage and retrieve data. For AI capabilities, we utilized Gemini 1.5 alongside Langchain, ensuring fluid and dynamic interactions between users and the AI. The front-end was built using Swift 5 and Swift UI to create a smooth, native iOS experience. To enhance the app’s accuracy and data richness, we incorporated the Weather API and the National Parks Service API. Finally, all design prototypes and user flows were created in Figma to ensure a user-friendly interface.

Challenges we ran into

One of the key challenges we faced while building Campanion was our goal to store the AI model locally on a user’s device. This would allow hikers to still interact with the AI and receive guidance even when they’re in areas without reception, which is critical for outdoor explorers. However, we encountered issues with the Gemini model we were using to power the AI, particularly around optimizing it for offline use while maintaining its responsiveness and accuracy. Balancing the model's size and efficiency without compromising its capabilities remains a technical hurdle we are working through.

Accomplishments that we're proud of

One of the accomplishments we're particularly proud of is how we adapted to the challenges we faced, especially with the Gemini model and offline functionality. Initially, we struggled with how to properly scope the project, leading to a lot of back-and-forth adjustments. It was a complex process figuring out the right balance between the model’s performance and ensuring a seamless experience for users even without reception. But through persistence and iteration, we found creative solutions that allowed us to overcome those hurdles and get the app working effectively. We're also proud in how we all rallied to learn skills that we weren't totally familiar with before the hackathon to accomplish that ultimate goal a working version out in the world!

What we learned

One of the key lessons we learned during the development process was how to effectively integrate an LLM into an app and leverage APIs to create a seamless, responsive user experience. This required understanding how to connect the AI model and optimize interactions between the front-end and back-end systems, ensuring that the app functioned smoothly while providing helpful information to users. This technical experience has greatly enhanced our ability to build more integrated and intelligent applications in the future!

What's next for Campanion

Next for Campanion, we plan to focus on making the app fully functional offline, ensuring users can rely on it even in the most remote areas. We’re also exploring the possibility of integrating satellite technology to provide more accurate, real-time data on weather, terrain, and location, further enhancing the safety and reliability of the app for outdoor adventurers. These developments will make Campanion an even more robust tool for navigating the wilderness.

Built With

  • chroma-db
  • figma
  • gemini-1.5
  • langchain
  • national-parks-service-api
  • python
  • swift-5/swift-ui
  • weather-api
Share this project:

Updates