When we arrived at the Vancouver open data day hackathon, we had a great team and a fuzzy idea. When we left more than twelve hours later, we had a great prototype and a fuzzy team. The hackathon lessons stayed consistent: build a minimum-viable product, get lots of feedback from people in the room, focus on solving a real-world problem (and just one!).
The morning kicked off with an welcome from OpenDataBC director, Gillan Vrooman and an energetic pep talk from open-data advocate, David Eaves. Eaves, dressed in hack-day chic hoodie, jeans, nerd-tastic spec and runners, encouraged participants to focus on problems first before diving into the available data, and to talk about failures openly (and did so with surprising enthusiasm, given the early hour).
From there, it was a standard hack-day agenda: pitch ideas, form teams, build some prototypes. Teams presented their projects at 8PM to a panel of impressively-attentive (and patient!) judges: Councillor Andrea Reimer, Bob Nakagawa, Ed Levinson, Claire Atkin, Adam Lerner and Brittany Zenger.
By 10:30PM that day, our hackathon team – Geoff D’auria, Hugh Stimson, and yours truly – were comfortably situated at a nearby bar drinking away our prize winnings (#HumbleBrag) and telling open-data war stories.
The problem we set out to solve
As described last week, we decided to focus our efforts on busy soccer dads and moms in and around Vancouver. Conservatively speaking, this is upwards of 100,000 people in the lower mainland alone (multiple leagues, multiple divisions in each league, boys and girls, more than 10 municipalities, etc.). And this is just one sport.
The first use case is: You wake up and it’s raining out (no so uncommon in these parts). You need to know quickly – before you start getting the kids ready! – “is the soccer even field open today?”
The secondary use case is to provide parents, coaches, referees, and league officials with essential information while on route to the field, e.g., You’re in the car, or running out the door, and it’s too late or too cumbersome to Google around for the info.
Unfortunately for a busy parent, there’s no comprehensive resource for playing field information across lower mainland. The information is on municipal websites, but teams play across several municipalities. Additionally:
- Fields close all the time, but there’s no single place to find that information for all possible fields;
- Playing field information is often not consistent across sites;
- Parents need coffee after dropping kids at games (45 minutes early) but aren’t familiar with away-field neighbourhoods;
- Coaches are required to know the location of closest hospital.
The solution: 604-670-SCCR
In the end, we decided to build an SMS app. We chose SMS for its simplicity and convenience to end-users, as well as Geoff’s direct observations as an assistant soccer coach that SMS is key to how recreational sports fans communicate. Many are not yet heavy users of Twitter and other similar service.
The application is quite straightforward. For the first use case above: you text 604-670-SCCR (7227) the name of a field or park and it tells you the status. For the second: you text 604-670-SCCR (7227) COFFEE, HOSPITALS, or SKY and it replies with the closest coffee shops, hospitals, and minute-by-minute weather for the next hour. Plans are in the works to add the ZEN and GIF commands.
To pull this off in just a handful of hours on a surprisingly sunny Saturday in Vancouver, we:
- Aggregated open data from City of Vancouver (parks, fields, etc.), DataBC (hospitals), and Open Street Maps (coffee shops);
- Geoff researched all of the park and field information and wrangled it all Google Spreadsheet, as well as writing the witty copy;
- Hugh loaded the coffee shops and hospitals into CartoDB and whipped up some fancy spatial SQL queries to sort by distance from the park;
- After they’d done all the hard work, I wrapped all of that data goodness into a quick-and-diry single-file application that leveraged Twilio to easily received and responded to users’ SMS messages.
Now that’s teamwork! :)
The potential for a product like this seem surprisingly large. Beyond youth soccer, this same approach could be expanded to all recreational soccer – which would be a market several times larger than just the youth leagues. If this was expanded to cover other sports leagues, it would be a very, very large market indeed.
As I mused last week, there’s an opportunity here to solve a surprising hairball of a data problem: pulling together geographic information about fields, parks as well as their condition, across many municipalities and parks boards, not to mention the challenge ahead of incorporating information about divisions, teams, and game schedules. We could probably have a hack day every Saturday for the next few months without running out of ideas to work on…
I gave the team today the last couple of days off. We’ll see if they can be rallied again next weekend. :)
A special thanks to the mentors who provided much inspiration that day: Linda Low at Vancouver’s open data catalogue, Loren Mullane from DataBC, Parveen from Smartful Studios and Luke Closs from Recollect.
Hearing Luke’s candid tale of how the open-data side project Van Trash quietly became a juggernaut in the municipal trash collection space was a particularly big eye-opener for me. All of their comments and suggestions were incredibly helpful.
So, um, go give it a try, eh? Just text a field or park name to 604-670-SCCR (7227).