Status: Launched 🚀
Started: February 2018
Role: Solo-founder & Developer
URL: https://harvy.app

Project Overview

There are moments while running and exercising where something incredible happens - everything clicks into place, you can feel your heart beating, you are pushing out of your comfort zone, and you know at the end of it you will emerge triumphant.

Harvy is my attempt to create these moments in combination with music and running. When a person is running, there is more data than just the regular cadence and beats per minute (BPM). If a user maps out a route and plans ahead, we can know so much more based on the geographical conditions of the run. The main questions Harvy looks out for are: Where are the hills? Where will it be most difficult?

By analyzing the elevation changes along a route to create a difficulty rating for specific segments, Harvy correlates music tempo and beats per minute to this difficulty rating. Have a big hill coming up in the next mile? Harvy picks a song to help you push through.

Integrating Google Maps & Spotify

Harvy would not exist without the public APIs provided by Google and Spotify. I will not pretend that I know anything about music theory, recommendation algorithms, or predictive mapping. However, Spotify and Google have teams built specifically for those tasks and then provide the opportunity for developers like myself to utilize them.

Step One:

Drawing the Route

For the web, Harvy is all about planning ahead for your run. Harvy allows users to draw out where they would like to go by connecting dots on a map. A user has the ability to view elevation along with their predicted duration based off of their pace.

Step Two:

Inputting Seed Songs

Harvy unfortunately is not all-knowing so it needs a little help in understanding what type of music a user would like listen to while running. A user has the ability to input 5 seed songs that Harvy then builds a playlist from.

Step Three:

Generating the Playlist

From the seed songs, Harvy analyzes the elevation, finds songs similar to the seed songs, and creates a playlist that perfectly fits the distance and time (based off of a user's pace). Harvy also allows a user to:

  • Reorder the playlist
  • Add songs
  • Sort by duration

Lastly, a user can view the map, the elevation, and a timeline of when each song will be played (below). With the user's pace inputted, we can know at what point a user will be listening to a specific song. User's save this playlist to their Spotify account to listen to while they run.

Improving the Map

Not long ago a similar orange-colored fitness app introduced the ability to draw with a user's finger on a map and create a route. One afternoon I decided to try and see just how hard developing the same feature would be. Surprisingly it worked out and Harvy supports the same kind of free draw in its own maps.

The future

Harvy is still in active development although much of the time is now focused on the companion iOS app. Interested in helping out? Drop me a message or tweet at me - I would love to hear from you.

Visit Harvy