Inspiration

The pandemic has drastically impacted us in a number of ways, but the biggest change is definitely the alienation that many of us are facing being stuck inside. A study analyzing the effects of the stay-home order that was conducted on over 3,500 people showed that over 60% experienced depression, and about 53% experienced sleep disturbance. There is very clearly an issue with the current landscape, and as there is no foreseeable end to this ‘new normal’, we need to remain proactive during the pandemic to counteract this.

What it does

strol. is an online web tool that generates 'strols' - cyclic paths that are of a desired length. The tool's main purpose is to incentivize going outside by diversifying the path that you would take on a frequent walk which in turn makes every journey unique.

How we built it

Utilizing geospatial data generated by OpenStreetMaps, we are able to perform a series of analysis on complex geometries to build a network of walkable paths. With this road network, our algorithm is able to utilize existing graph analyses libraries to assist in generating random cyclic paths. To build the web app, we used Django in the backend, and Bootstrap for the frontend. Due to the heavy computation that the program requires, the application was dockerized to allow for easy scaling.

Challenges we ran into

Although the idea may sound rather straightforward, generating a walkable path, that is constrained by distance, with the start and end points being the same has never been done before - and we soon found out why:

  • The novelty of the idea meant that the resources that we had available were limited
  • There is a very large amount of potential paths that can be generated, most of which are irrelevant as they would lead to dead ends or their distance was too high
  • This problem boiled down to complex graph theory, a topic that neither of us had encountered in the past In addition to this, this was our first time working with maps and other technology that was needed to deliver a working product.

What we learned

  • More graph theory than expected
  • Working with maps as a developer
  • The importance of persistence
Share this project:

Updates