At the beginning of the hackathon we wanted to do something that will be both challenging and realistic. We decided to tackle a data science problem for a day to day activity: running.
What it does
DoubleDart takes in data from your runs collected by your phone's GPS and matches you with nearby runners, or "darters", who follow similar paths so you can buddy up with them.
How we built it
We used Python and Flask to build out the server and run our path matching model. We used Leaflet JS for map displays of the paths.
Challenges we ran into
Our initial goal was to use path similarity as the core of our algorithm. However, path similarity is an open topic of research with no one solution. Our workaround, given 36 hours, was to use a bounding box model to create a close approximation.
Integrating the entire workflow together was also complicated. Working across languages and file formats required extensive format conversions.
Accomplishments that we're proud of
We have a working algorithm, a server and client communicating. We have data flowing between all the components, and user input is reflected by map output of the matching "darters" seamlessly.
What we learned
Knowing a common framework before jumping into such an integrated project is necessary. We spent plenty of time bringing every team member up to speed with the tools used and learning them for the first time.
What's next for DoubleDart
The next step would be to port the application to a mobile application to allow users mobility when using the app. We would also include improvements to match detection using some of the research work.