GetMeOut was a small side project to help New Yorkers find the right exit from Subway. Eventually, it was going to use available public APIs to work with subways in any city.

This project was done mostly for fun but it was also quite challenging. I tried to keep the interface as simple as possible using very generic layout and UI. But the data that I wanted to display was very specific and often complex.

Main view

General idea was that the user would select subway station to find out which car and exist he should enter and leave to get the shortest path to his destination. The main view was of course subway map, obviously scrollable and zoomable. User would then select specific station (or search for it).

Train station

It sounds simple so far, but tricky part actually starts here. Showing train station is not trivial – depending on station it may have multiple lines, multiple trains, each train can have different number of cars and each car can have different layout and number of exits. Besides that, each station has own layout of exits. So it became very complex with many variables. That's why it was important to design it in flexible way that would let generate those views via code without too much designers efforts.

So what's next? You tell me!