I designed two new feature concepts for Citymapper: “Making Istanbul Usable” and “Scheduled Trips”, as personal projects.


It all started when I heard that Citymapper is considering launching the app in Istanbul – my hometown which got me really excited. I started a research in Istanbul to find out about the current competition in the market and people’s pain points.


Getting around Istanbul has always been a massive headache as it’s a crowded city with 14 million residents and a lot of transport alternatives. Although there have been some improvements in the transport system lately (eg. new subway stations, live updates for bus arrival times), public transport isn’t easy to figure out and planning alternative routes is a pain.

People still ask others when it comes to figuring out how to get from point A to B.

Citymapper can ‘save Istanbullers from Istanbul’.


On my last visit, I spoke to some friends and family, people waiting at the bus stops and a taxi driver to gain insights on how they plan their journeys within the city.

3 most common patterns appeared when people figure out how to get to places:

  1. Ask others
  2. Check IETT (public transport website) for timetables and stops (no journey planner available yet)
  3. Use an app

Then I dowloaded the most popular transport apps and made a competitive analysis:

Competitor Analysis-CM2.2.png

So even though there are a couple of apps out there, none of them are as solid, comprehensive and friendly as Citymapper.

But there is a challenge.

CityMapper uses open data. What if the available data updates are not sufficient? In cities where the travelled distances are long and road works and accidents are frequent, the open data is inaccurate or real-time updates are not available everywhere.

Istanbullers said not all the bus stops have ETA information and even when they have it, the data is unreliable.

If Citymapper’s long term goal is to spread to cities with less accurate data, the experience can be further improved by filling the data gap. But how?


Most common answer I received when I asked people how they figure out ways to get to a new place was “I ask someone else”. Some of the people I spoke to mentioned that they love a competitor’s navigation app for drivers, because they can read other people’s status reports and comments when on the road in order to bypass traffic. They said it’s “both entertaining and useful”.


Maybe a new feature for Citymapper can help fill the data gap for public transport:

  • Allowing users to report incidents and disruptions in real-time
  • Allowing users to read ‘nearby’ incident reports to re-plan journey

Citymapper calls its users that are logged in ‘Citizen’, so I’m going to call the new feature ‘Citizen Reports’.

Reports View.png

Citizen Reports – View

Reports Submit.png

Citizen Reports –  Report Issue

Being a social app is not one of the goals of Citymapper, so I kept the shared information restricted and avoided adding interaction between citizens.

You can read the full story on Medium.


I travel often and usually the day before the flight I check the app to see what time I should leave my flat in order to arrive to the airport on time. Then I set an alarm to remind me when to leave in case I get distracted by other things.

On one occasion I was receiving emails and notifications from multiple sources ( eg. the flight company ) about congestion and disruptions near the airport, so I had to re-check my journey status, adjust my plan and re-set my alarm.

I noticed the same pattern in my behaviour when I’m going to a meetup, a meeting, theatre etc. I asked a couple of friends around me if they do the same thing, one even said she sets up 2 (!) alarms before going somewhere she cannot afford being late.

That got me thinking about what I need as a user and how could this experience be improved.


Wouldn’t it be nice if I could:

  • Schedule a trip in advance, set reminder about when to leave
  • Get notified if a transport disruption is going to affect my planned trip

[Edit: 2 months after the post I upgraded my phone to IOS10 and noticed Apple’s attempt to address this need within the Calendar app. Glad to see alternative solutions!]

Steps I need to take in order to achieve this goal are pretty straightforward:


User Flow for scheduling a trip


To design the mockups for the new feature as quickly as possible, I used some screenshots from Citymapper. Then I designed the additional pieces on Sketch while sticking to the design patterns already used throughout the app.

Planned Trip.png

Scheduled Trip – Set Reminder

Planned Trip Notifications.png

Scheduled Trip – Receive Notification


I was pretty confident with my design at that stage but experience tells me that usability testing never fails to reveal issues designers often overlook. To be able to test the new feature with users I quickly put the mockups together in a Marvel prototype.

It was time to take my prototype for a walk, or more accurately, to a coffee shop.

CityMapper User testing.png

User Testing


I was pleased to see that people easily figured out how to schedule the trip and cancel it.

However there were a couple of goals people struggled to accomplish:

  • Finding where to set the arrival time for a journey -> Existing Citymapper feature
  • Finding scheduled trip on the app’s home screen -> New feature that uses Citymapper’s “Current trip / On Trip” design pattern.
Screen Shot 2016-12-14 at 11.54.14.png

User Testing Insights


Since the day above article is written, I have noticed the IOS10 is now trying to address the need automatically within the Calendar app. I believe Citymapper solution could give more power to the user than the Calendar, so the next step would be:

  • Test both solutions to identify pain points and design an improved overall experience
  • Suggest alternative routes when planned journeys are affected

You can read the full story on Medium.