Inspiration

The theme for this edition of Hack On The Hill was "intersections". I quickly came up with the concept that would become stride, which allowed me to combine two of my interests to build a captivating app, being physical activity and sustainability. From my personal experience with using Strava - a social app designed specifically to track and share workout - I know how much of a motivational boost it can be to feel like your efforts are seen by others. So then I thought, why not leverage this to help people act more sustainably?

What it does

stride first requires users to create a profile, which will be used for all the social features of the app. Upon account creation, users are ready to start tracking their commutes (rides or walks are the supported activity types for now). The intuitive interface guides the user through that process, which is the building stone for the rest of the features. Now, going back to the home page shows the users the impact their recent activities has had, and their newly obtained achievements! Now for the social aspect: users can click the top right button to follow people they know, and their activities will now appear in their feed. This way, friends can support each other in making the world a better place - while improving their physical health!

How I built it

The app is built in Swift using Xcode. In particular, most of the code uses Apple's SwiftUI framework, along with some bits of UIKit. I chose to use Firebase Firestore for the app's database, which allows for highly reliable real-time data transfer.

Challenges I ran into

Around halfway in, I thought I might have been overly optimistic with regard to the number of features I would have the time to implement in just 12 hours. This was mainly due to the network/social features that added many layers of complexity, and forced me to spend a considerable amount of time on ensuring reliable behavior in the app. It was also difficult to balance the time spent on UI versus actually building features, especially as an individual contestant.

Accomplishments that I'm proud of

  • Fully functional & secure account creation, login, and sign-out using Firebase
  • Social features: follow friends & see their activities in feed
  • Advanced tracking of emission savings: sorted and grouped to provide weekly summaries
  • Large range of achievements that are automatically tracked, making the app fun for new users as well as long-time users
  • An intuitive and smooth UI that reflects the theme of the app while keeping the user experience fun & light-hearted

What I learned

Making this app taught me a lot of things about the entire app-making process. From wire framing my initial idea, to picking colors, fonts, and images, this experience really forced me to broaden my skillset in order to come up with a well-rounded product.

What's next for stride

In the future, stride could certainly include an even larger set of social features, such as being able to see others' weekly summaries or achievements. In addition to that, it would be fun to add some more analytics over longer periods of time.

Built With

Share this project:

Updates