Reliable Train Connections App
Wins The First Deutsche Bahn Hackathon

What is the best connection from Ulm to Berlin on Sunday noon?

If you should decide to travel from Ulm to Berlin at any given Sunday around 1 p.m., the first proposed choice would be the train via Mannheim departing from Ulm at 12:51. It would arrive in Mannheim on platform 3 at 14:28, where the next train to Berlin would depart at 14:32 from platform 2, leaving you 4 minutes of time to switch platforms, which seems perfectly feasible.

But what you don’t know is that your train from Ulm is sometimes late, often more than 4 minutes. So there is a certain chance you’ll miss your Berlin train at 14:32. The next one is at 15:33.

You’re losing an hour.

Connection from Ulm to Berlin via Mannheim has a chance of missing the train. Please see the disclaimer below.

But if instead of the 12:51 trip you take the next one (at 13:04), you’ll get a route via Frankfurt and Hannover with connections which almost always work.

Connection from Ulm to Berlin via Frankfurt and Hannover is statistically very reliable. Please see the disclaimer below.

How do I know this?

I do, because I was part of the 4-man team “Blind Date”, which developed an app that adds statistical data from previous train delays into the travel information.

We did it in 18 hours from scratch on the the first Open Data Hackathon of the Deutsche Bahn, the German railway and transport giant.

Our app, which offers reliable train connections, won the “Public Choice” (one of the two main prizes) and the “Biggest Business Potential” awards.

From left to right: Aleksei Valikov, Torben Hedderich, Falco Nogatz and Fatih Tavukcu with the “Public Choice” Award of the DB Open Data Train Challenge.

The DB Hackathon (officially DB Open Data Train Challenge) was held on 20th-21st of March 2015 in Frankfurt, Germany. The DB Hackathon was organized and sponsored by the DB Fernverkehr and DB Systel (long distance train division and the IT technology provider of the Deutsche Bahn).

Start-up feeling in Frankfurts iconic Silvertower.

15 teams with 65 participants had access to over 6 GB of raw data (ranging from timetable to delay statistics and customer complaints) and 24 hours to develop innovative apps which would impress the jury and the public.

Candylabs impressed the jury (great work, guys!).

We’ve impressed the public.

When I wrote “18 hours from scratch” above, I literally meant that. The four of us — Torben Hedderich, Falco Nogatz, Fatih Tavukcu and me, Aleksei Valikov — have formed a team directly on the Hackathon. We have never met before (therefore the team name “Blind Date”), but had a great luck of matching (in a sense of well-distributed) skills and interests. There was no storming, little forming and then just performing in the team.

After 18 hours of intensive work we’ve got from “so what IDE do we use” and “will we really manage this?” over “then let’s type 200 stations, missing data shouldn’t held us back” to “this looks just perfect to me”. And we still had a few hours left before the jury teams would visit us or the 4-minute public product demos would start.

So we’ve started playing around. Keeping the Open Data aspect in mind, Fatih integrated weather forecast from directly into the travel information. It is good to be warned up front that it might rain in Berlin.

It’s raining in Berlin, don’t forget your umbrella.

And Falco amazed the crowd by writing a light-weight Chrome extension which asynchronously fetched the calculated delay statistics from our easily accessible JSON API and displayed them directly on the original Deutsche Bahn travel portal,

Train delay statistics added directly to the original to via Chrome extension.

After the event some people asked, if Deutsche Bahn will really be so open about train delays as to add the statical information into the main travel portal.

The point is, Deutsche Bahn is not only open about delays(5,5% in 2014), but also provides tools to proactively inform passengers of the actual situation. Delay statistics on the could be one of those tools. If certain connections have a statistical chance to fail, why not warn the customer and avoid disappointments in the first place?

Proposing reliable train connections wins you awards from the public.

We know this for sure.


The statistic informations about delays displayed on the screenshots above were calculated with prototyped implementations, which do not reflect or depict a real-life case or recommendation and are only meant to be displayed for demonstration purposes.

The author, Aleksei Valikov is a DB Systel employee. I was not involved in the organisation of this event, had no prior knowledge of or access to the provided dataset. Participation by Deutsche Bahn or DB Systel employees was not prohibited by the rules of the competition (on the contrary).

The views expressed on this blog are my personal views and they do not necessarily represent (nor are they intended to represent) the positions, opinions or policies of my employer or any other company or person.