Inspiration
With the current global climate, we have come to truly appreciate the importance of health and mental wellness, with so many of the activities we had taken for granted no longer possible. To this end, we decided to develop an app which would enable users to easily fit outdoor walks into their daily schedules.
With a growing trend in digital mental health, we believe that there is a need from users for our app.
What it does
The app allows the user to specify a duration of the walk and then automatically finding suitable slots using the users' Google Calendar data. The app then generates a unique walking route using the Google Maps API, targeting green areas such as parks and lakes, previewing the route to the user through the Streetview API. The user then has the option to either accept the route or regenerate the route if they had recently been on something similar. Once the route is chosen, the app automatically adds an event, reminder and location onto the calendar.
How we built it
How the android app works: The android app begins with a login and signup age using google authentication. From there, an adjustable slider allows the user to select an amount of time they want to walk for. This then calls a Calendar API function which returns a list of available time slots for the user to select from. Once a times is chosen on the app, a calendar event and reminder is created, and a route is generated to a nearby park for a walk of the chosen length.
How the calendar works: The algorithm runs through the google calendar using the Calendar API to find free slots then returns all the time that the user is free. Once the user chooses a free slot, the Calendar API creates an event, reminder, and the location of the walk. These functions were written in node.js as a Google Cloud Firestore Function.
How routing algorithm works: The routing algorithm is provided with the user start location, user desired walk speed and the duration of time allocated to the walk. It then determines a radius within which the walk will take place, with the maximum distance determined considering the time constraint, and selects a nearby green space to walk to. The algorithm attempts to find an oval shaped walk between the start and green space, if possible, which is displayed to the user. Noise is built into the model to prevent the user having to go on the same walk each time for the same set of input parameters, generating different end locations and different shaped ovals.
Challenges we ran into
Initially our greatest challenge was choosing a stack and finding a way to split up tasks between our team members. Given the wide variety of languages and APIs our team was familiar with we had to come together as a team and push ourselves to the limits of our knowledge, learning new and innovative ways to make all parts of our code compatible.
Connecting the frontend and backend proved to be a difficult challenge, however, we overcame this with the help of Firebase. This involved all members of our team learning and understanding each others code, both developing our knowledge of new languages and enhancing our team work abilities.
Accomplishments that we're proud of
In 24 hours, we are proud to create a mindfulness app that is easy to use.
What we learned
Technical Skills: We learnt how to make an Android app. Through the process, we learnt how to create the UI, connect Python and Node.js with Java Frontend, and use different APIs to create functions for the users. For example, we learnt how to use Google Maps Platform to create a routing algorithm according to the users' calendar data.
Softskills: We learnt to manage our time efficiently in 24 hours by assigning the tasks accordingly. We also learnt the importance of communication and teamwork, especially when fixing problems.
What's next for "Short Walk"
We are looking to add new features such as connecting people nearby with similar "free slots" in their calendar for a short walk together.
We are planning to publish the app on the Play Store free-of-charge make a positive contribution to the wider society. We are also trying to make the app feasible for iOS users.
Log in or sign up for Devpost to join the conversation.