Inspiration
What if you could empower your fitness journey through a fun game with friends and family? If you love the Amazing Race, orienteering, or scavenger hunts, you'll love AdrenalineQuest!
What it does
AdrenalineQuest is a game that urges it user to stay fit in a series of trivia and fitness challenges and rise the ranks of the leader board as AdrenalineQuest puts your live health data into play.
So how does the game work?
- Create or join a session and receive a trivia questions related to fitness.
- When you answer correctly you will be given a hint to the location of the nearest challenge checkpoint.
- If you can solve the riddle found in the hint and get to the checkpoint, you can complete a fitness challenge powered by TerraAPI.
- If you can complete the challenge, you'll get the next trivia question, then rinse and repeat!
What are the fitness challenges? The fitness challenges present at each checkpoint location will measure a metric related to your health. And thanks to TerraAPI our application will get this data from your wearable to verify if you complete the fitness challenge. For example you could be challenged to raise your heart rate through exercise, burn a certain number of calories, walk a certain number of steps or more! Each challenge completed gives you a point, and the goal if to collect as many as possible by the end of a game session.
How we built it
AdrenalineQuest is a mobile application built with React Native, TerraAPI, and a FirestoreDB/MongoDB.
Challenges we ran into
Dealing with the Apple ecosystem was our biggest challenge. Since we had two Apple Watches at our disposal, our first goal after setting up the database for game data was to use TerraAPI to get Apple watch data.
We had been using Expo to test our project's location functionality initially, but since there are Apple specific setting that need to be configured in XCode and Swift, we had to eject Expo and that opened a whole can of worms. Node packages went missing and other compatibility issues arose, and our react-native project and repo was initialized on 4 separate occasions. The best thing to come out of this situation is that now all of our Apple devices are up to date.
When we decided to move away from implementing for Apple Watch and focus on other wearables like Garmin, we moved back into Expo and issues arose connecting to the FirestoreDB, which led to us standing up another API so we could connect to MongoDB instead.
Accomplishments that we're proud of
We learned a lot and the FirestoreDB functions well
What we learned
None of us have experience in app development especially for Apple devices, so there was a massive learning curve. While we were familiar with React for web development, things were just different enough for it to be a bit harder.
We learned about TerraAPI. It's a really cool technology, and if we want to implement this app further we'd love to explore it fully and integrate it well.
We had our ambitions set a bit too high, originally wanting to attempt Augmented Reality for the checkpoints, by creating a game map in Unity, but it require an even steeper learning curve, that wouldn't meet the minimum viable product.
Our biggest takeaway, hackathons are really about the friends we made along the way!
What's next for Adrenaline Quest
Short term if we had just a few more hours: We'd love to work a bit more on the design aspect of the UI we do have and adjusting the setup so that FirestoreDB can be used Long term: Finishing haha! We believe we have a really cool concept of gamifying fitness, that can be played a bit like Pokemon Go! We definitely want to learn more about app development so we can see this to the end.
Log in or sign up for Devpost to join the conversation.