Inspiration

As women balancing school, work, and fitness, we often find our calendars packed with little time to allocate to things that are important to us. This, coupled with the potential safety risks accompanying outdoor fitness activities, makes planning for a healthy lifestyle especially difficult. 92% of women feel unsafe during runs and 68% of women have been harassed while running. Each member of our team has personally experienced uncomfortable situations while running outdoors. We set our hopes on developing a solution to this ever-present issue women experience. In addition to encouraging safer run scheduling, this app also serves to promote a healthier lifestyle. Often, safety concerns are a consideration in whether to participate in fitness activities. While this app may not eliminate potential dangers, it certainly will assist in reducing potential risks. Further, it also manages busy schedules, leaving no excuses to skip out of important cardiovascular activity. It also establishes a sense of community among runners, beginner and advanced alike, through functionality that allows users to see their friends’ runs. With these elements in mind, we were primarily inspired by the need to assist ambitious women in finding safe times to explore this hobby.

What it does

RunTime greets the user with their name and displays the sunrise and sunset time. We’ve determined that one of the key factors in having a safe run is running while the sun is out. By clearly indicating the sunrise and sunset time based on user location, the user can keep this in mind while scheduling their runs. Next, the user can click “Schedule Run,” where they are shown a list of ideal run times at various intensity levels. These ideal run times are sourced from their Apple Calendar. If there is a conflicting scheduled event, no runs will be suggested at that time. To select a run, the user swipes and they are prompted to add it to their Apple Calendar. Upon accepting the run event, their Apple Calendar will be updated with the details of the run. Next, the user can view their past runs and rate their recent runs. They can rate their runs on a scale of 1-5 using an easy slide tool. They can also add a note to describe what their experience was on the run. When they return to the home page, they can also view their upcoming runs that they have scheduled. They can also view the runs their friends have completed.

How we built it

RunTime is native iOS application built entirely with SwiftUI. We utilized Apple’s EventKit and EventKitUI to gain full read and write access to the user’s Calendar events. We used sunrisesunset.io to get sunrise and sunset data for your current location.

Challenges we ran into

Our greatest challenge was using GitHub and learning how to navigate apple developer guides. Fortunately, we were able to rely on each other and mentors to resolve our issues. Half of our team used devices that weren’t our own which resulted in rushed setup processes. Because of this, we encountered issues that resulted from a few steps missed during setup.

Accomplishments that we're proud of

None of us have ever developed an iOS app prior to this hackathon. One of our main goals when we registered was to learn an entirely new technology. We’re very proud to have learned Swift and SwiftUI within the span of 36 hours. By applying our somewhat related knowledge about web development, we were able to quickly learn the necessary skills to create this iOS app. Our team comes from very different levels of ability, but we all contributed equally with our respective skill sets. We’re also excited about the reactions and feedback we’ve received from other participants and mentors about the concept. We all thoroughly enjoyed ideating and developing a solution to a problem that is prevalent in our lives. This made the 36 hours pass surprisingly quickly, and our team worked cohesively for the entire duration.

What we learned

Minuet: Coming from the business college as an information systems student, my exposure to programming concepts isn’t as robust as computer science students. However, I learned I greatly enjoy designing UI and experimenting with different layouts that I think will best benefit the user. This being my first hackathon, I somewhat expected to shadow the efforts of some of the more experienced members of my team. However, I learned that my abilities greatly contributed to the team, and I was responsible for developing the UI. I also learned that SwiftUI isn’t as hard as I thought it would be to learn and I truly enjoyed the learning process! The biggest thing I learned was using GitHub and the terminal. I also learned how well different skill sets and backgrounds come together when developing a tech product - everybody brought something to the table.

Sophie: Having no previous experience with mobile development, I was excited to learn Swift and code with mobile use in mind. This project taught me more about state and environment variables as I gained experience coding for different views that need to access and update shared information. I had fun learning how applications that I write can interact with other existing software for Apple devices, such as Apple Calendar. It was interesting to code in xcode for the first time, and work within an IDE that leverages many visual features enabling for some drag-and-drop coding and easy access to documentation. This project gave me experience with more advanced Git commands. It was gratifying to watch how quickly a project can come together, and see all of my teammates fall into positions within the team where their strengths contributed to our end goal, while also getting to learn a variety of new skills.

Sarah: Learned how to navigate Apple Developer Guide

Tori: Developing an iOS app seemed like a daunting experience in the beginning, as I have no prior knowledge or practice in Swift or mobile development in general. However, working through this project felt smoother than I expected it to be. I feel as though I learned so much about Swift and Apple Development, most prominently calling and displaying APIs. This was my first time using APIs in a project, which had a bit of a learning curve (especially in a new language). Also, after trying XCode, I enjoyed its convenience and ability to display pages within itself. I was able to get more practice using Git and gaining a better understanding of how the process of contributing as a group works. This project has been such a great experience, especially with my teammates! I had so much fun learning from them, and everyone’s efforts can be seen in our final product.

What's next for RunTime

Though our current demo demonstrates the core functionalities of RunTime, we see potential for expanding the use and scope of this app:

  1. Accounting for specific preferences (run-type variety, days of the week, times of day)
  2. Using cycle data to suggest run intensity - Loading menstrual cycle data from Apple Health to suggest easier or more challenging runs depending on the stage of the cycle
  3. Scheduling community runs with friends - Accessing multiple users’ Apple Calendars to schedule the optimal time for runs with 2+ people
  4. Inviting friends to a run - users sending an in-app invitation for their friend to add a run to their calendar
  5. Aggregating run review data to display insights about perceived run preferences
  6. Incorporating AI to optimize scheduling and accounting for specific user preferences
  7. Suggesting running trails and paths in nearby locations and collecting data on their safety to determine whether to recommend using them

Built With

+ 26 more
Share this project:

Updates