Struck with a desire to get more interesting data visualization out of his runs, one of our team members pitched the idea to create a 3D terrain builder that could map out GPS activity. Other members considered the important health benefits of encouraging people to get out and be active more, and welcomed a challenge of building something none of us have delved into before.

What it does and How we built it

We created a program that uses multiple APIs and frameworks to pull data from Strava, a popular athletic GPS uploading site, and manipulates that data to our required parameters. It uses the GPS data collected from Strava to find an area of "action" along with quantifying data points such as pace for other functions. This program then accesses the Google Earth Elevation API and pulls a grid of altitudes which is then exported into the visualization part of our project, along with the previously mentioned data. Finally, a local web host builds the 3D model and displays it along with other unique information such as % of time above or below average pace per km.

Challenges we ran into

Along with various small roadblocks and coding bugs, we were constantly reminded of how much we were out of our element. Through trials such as juggling API keys, building 3D models, and the dreaded API usage rates, we lost many features we hoped to achieve, and were slowed down at every stage.

Accomplishments that we're proud of

We were able to overcome these many, many difficulties and make a semi-functional working example. Another highlight is always the knowledge gained from any new API or framework that we had to slog through for the weekend. It was also really cool to be able to meet new friends and work on building a project in a group instead of solo.

What we learned

That satellites are not accurate, that Google wants lots of money for their API, and that Strava has an awful authentication process. But, on a brighter note, we did get to learn tons of new skills to accomplish a wide range of tasks. In addition, it was amazing to be able to learn the wide variety of skills from workshops and events alongside this 36 hour grind of almost no sleep.

What's next for HikeIt

Likely nothing, but hey, maybe Strava will steal this one day and implement it.

Built With

  • dash
  • google-maps-elevation-api
  • python
  • strava-api
Share this project: