← Projects

Walk to the Train app

An app that tells you, live, whether you'll catch your train if you walk to the station. It got featured on RTL Nieuws.

The idea came from a problem I kept running into myself: walking to the station without knowing whether I’d make my train, or whether I had to start running. So I built an app that answers exactly that.

What it does

You pick your station and the train you want to catch. The app then shows one big number: how much time you have to spare if you walk there now. Green means you’re early, red means you’re going to miss it. It also shows whether the train is delayed or cancelled, and which track it leaves from, with a warning when the track changes.

Delays are part of the calculation. If you’re running late but your train is delayed too, the app adds that delay to your spare time. So when it says you’ll still make it, you don’t have to rush, even though the timetable says you’re too late.

Two screens of the Walk to the Train app. Left: walking to Leiden Centraal, 3 minutes 26 seconds to spare, shown in a green circle. Right: walking to Nieuwerkerk a/d IJssel, minus 6 minutes 20 seconds, shown in a red circle that says you're late.

How it works

Every 20 seconds the app sends your GPS location to the backend. The backend asks the Google Routes API how long the walk to the station takes from where you are, and gets the live departure from the NS travel API, including delays and track changes. Bigger stations get a few extra minutes of padding, because it takes longer to get to your platform. The spare time is what’s left after all of that.

The app is built with Vue and Capacitor, so the same code runs as a native app on iOS and Android. The backend is Django, with Redis caching the NS data so the app stays fast and within the API’s rate limits.

On the news

I made a creative video about the app, and that’s how RTL Nieuws noticed it. People thought it was a nice and handy tool, and it ended up as an article on RTL Nieuws.