Discover, share, and rank nearby courts for your favourite outdoor sports.
When I moved to a different neighbourhood in Calgary, I initially couldn’t find the nearest court to play tennis. Eventually I did find one, but it was always too crowded. I wondered if other nearby courts existed where I could go and play.
I decided to create a responsive web app to help users discover nearby courts for outdoor sports in Calgary. I started working with City of Calgary’s open data catalogue to prepare a database of court locations for outdoor sports.
Besides helping users find the nearest court for their chosen sport such as tennis, soccer, or volleyball, I also wanted to show directions to those locations by using Google Maps on either web, iOS, or Android (depending on what the user had installed on their device). Users could also share the location of the court with their friends using various channels such as SMS, Twitter, or Facebook, and even had the ability to rank courts—by crowdsourcing this information.
This type of dataset did not exist anywhere else except at the city’s open data catalogue website. Even then, it had to be cleaned and assembled into a proper geospatial format. Once the dataset of court locations was ready, I started developing the front-end of the application using the Google Maps API, while my good friend Rustam Kamberov started working on the back-end in Java.
Sportsity was used by over 2,500 Calgarians over the summer of 2015 to find hundreds of courts, with tennis, soccer, and volleyball being the most popular sports. It was featured in Metro News Calgary the day after launch. Furthermore, it was published in a IEEE Access research paper comparing the use of various different open datasets.
The Mayor of Calgary also retweeted about Sportsity to help spread the word, while the City of Calgary featured it in their open data catalogue website. We also decided to open source the code on GitHub in hopes that other developers could use it to deploy in other cities.
Some ideas could not make it to the initial release of this project due to technical and cost limitations, but will be worth exploring in future.
Real-time tracking. One idea early-on was to use sensors for real-time tracking of court usage. At the time, cost and scale became an issue, but as these sensors become more affordable every day, this feature might be tested and deployed. It may also be possible to ask users to check-in to certain courts.
Multi-city expansion. Now that the codebase is ready, other cities like Toronto, Vancouver, and Edmonton can be added to the map. The definite requirement is the availability of open datasets. But even if it is, there are other ways to gather data such as classifying satellite images or crowdsourcing locations from users.