How a community-based navigation app can help public transit riders

A case study for Good-Vibes Transit App


Tell me if you’ve been here before: You stand waiting under a bus shelter for your ride to arrive. According to your transit app or the shelter’s signage, it was supposed to arrive 10 minutes ago. But at this very moment, it’s nowhere in sight (something I’ve experienced on numerous occasions).

Let’s use the Toronto Transit Commission (TTC) for instance. The TTC is responsible for getting approximately, 2.7 million commuters around the Greater Toronto Area (GTA) daily. So I wanted to find out: Can a community-based navigation app — like Waze — solve all our transit headaches once and for all?

Part One: Framing the Problem

User Research

In order to confirm (or counter) whether my experience is common among TTC riders, I decided to interview TTC riders at one of Toronto’s busiest intersections King & Spadina, as well as riders I found on Facebook. It was there that I learned about their experiences riding the TTC.

Intersection of King & Spadina

From my initial research I learned Torontonians use the TTC as their main source of transportation. However, a majority of that demographic would use a bike during the warmer months.

Those who live on the outer core of the city said they mostly use the TTC to get to their place of work. Every person I interviewed owns a smartphone and use a transit app, Google Maps being the most popular, to verify the TTC’s status.

Everyone I spoke to were confident with the city’s subway service, though many felt the above ground services, such as the buses and streetcars, were fickle. When it came to transit scheduling, a majority felt they weren’t misled — just not completely informed of the service’s current status.

Whenever buses and/or streetcars do not appear as scheduled, the riders I interviewed said they they grew anxious as to whether they will reach their destination on time. Given the inconsistencies in transit arrival, they also had concerns of their safety, especially for overcrowded platforms or when traveling alone at night.

Changing gears, I wanted to find out how much riders were willing to communicate transit delays with other fellow riders. I learned that they’d happily communicate the current status of a TTC service to other riders, without any incentives or “extra” encouragement.

“If [a TTC rider] looks confused, you don’t want to see them suffer. And if you know what’s up with the transit service, it’s easy to just let them know.”
— Erin, Designer


With the collected data from everyone I interviewed I then created a persona that captured a rider’s experience using the TTC.

The persona also illustrated their frustrations caused by transit delays and cancellations, as well as their need to be notified of the status of their ride. In turn, this would allow them to decide whether to wait for the TTC or find another way to reach their destination safely.

TTC rider persona

Problem Statement

After compiling my findings I devised the following problem statement:

Even though it is easy to learn when a TTC vehicle is scheduled to arrive, the information provided, either from a digital signage or an app, is not always in accordance to when the vehicle actually arrives at the scheduled stop. As a result, this can have a negative affect towards riders causing “transit anxiety”.


I believe by allowing TTC riders the ability to share the current status of a service to other riders, their “transit anxiety” would decrease. This is simply because they are no longer being “left in the dark” regarding the arrival of the next vehicle.

Based on my findings, the solution is to develop an app like Waze, but have it retrofit for the TTC. Of all the transit apps that were brought up by TTC riders I’ve interviewed (Google Maps, Transit App, Citymapper, TTC Bus Tracker) none have the capability to allow its users to share the latest status of any TTC service to the app’s user base.

Part Two: Designing a Solution


The first step was to ideate and organize the information architecture of the app. What I created was something called, Good Vibes Transit App.

Early stage information architecture for Good Vibes Transit App

After numerous iterations, I then designed a low-fidelity/paper prototype of the app using cue cards. There were numerous initial designs made of the user interface for each possible interaction a TTC rider could have with the app.

In order to verify whether the user interface works, even at times of high stress, I devised a series of tests with instructions for a TTC rider to complete.

For example, I would request said user-tester to find out when the next 511 streetcar will arrive, and whether there is any sign of an interruption that could cause a delay. On the paper prototype, I would then ask them to report heavy traffic affecting the current streetcar route they’re on.

If they were unsuccessful in completing the given task it indicated that alterations need to be made.

Sample of Lo-Fi Paper Prototype of Good Vibes

Once I was confident with the paper prototype it was time to create high-fidelity version of the app using Sketch. Rather than opting the prominent red color scheme associated with the TTC, I decided to employ a color scheme that instilled the feeling of trust and reliability.

Color Scheme Used in Good Vibes Transit App

In regards to typography I decided to use DIN, a typeface commonly found on German road signs, because of the font’s legibility no matter its size from any distance.

DIN Regular Characters

I then decided to use the transit icons in Material Design’s iconography library because smartphone and Google Maps users have already become accustomed to those designs.

TTC vs. Material Design Bus Icon

Overall, creating a style guide unique to Good-Vibes Transit App.

Good-Vibes Transit App’s Style Guide

The name Good-Vibes Transit App originated while creating the high-fidelity designs. After learning the many riders’ stories, I felt the “positive vibes” among TTC riders helping each other out. So I felt the name should reflect that.


After completing the high-fidelity designs I then imported it to Invision, using Craft, where I then added “hot-spots” and transitions. I, then, transformed it into a high-fidelity digital prototype to undergo another round of user-testing.

Rather than heavily focus on whether the IA works, since it was confirmed during the paper prototype user-tests, I wanted to verify the user’s experience using the app, by verifying the app’s visual aesthetics — color, copy and iconography.

If changes need to be made it can easily be implemented in Sketch, which will automatically update the designs in Invision; thus, testing whether the changes actually improved the experience or whether more work is needed to be done.

Invision Hi-Fi Prototype
Good-Vibes Transit App Screencaps

Next Steps…

Aside from making further improvements to the app’s functionality and aesthetics, as well as adding new features; I envision Good-Vibes Transit App expanding to other cities around the globe (not only Toronto). Because, lets face it, even the smoothest running transit system can run into problems.

Another aspect to think about is using the collected data from within the app to help improve the very transit system itself, much like how “the city [of Toronto] will give Waze data that will aid route planning, while the navigation app will work as a source of traffic-flow information for the city” (Toronto and Waze app agree to trade traffic data).

While Good-Vibes Transit App can help reduce misinformation being communicated to riders, there are still on-going issues within the TTC (and possibly other transit systems) that are yet to be solved. Although that may be the case, Good-Vibes Transit App should help motivate design-thinkers alike to envision a solution to better serve public transit commuters in the future.

Social introvert from Canada, currently living in England. Interaction designer at Government Digital Service.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store