• Our new ticketing site is now live! Using either this or the original site (both powered by TrainSplit) helps support the running of the forum with every ticket purchase! Find out more and ask any questions/give us feedback in this thread!

Commuter help: Android widget for departure times

bonstio

New Member
Joined
17 Feb 2026
Messages
4
Location
St Albans
Hello. I built this app for myself because I couldn't find anything else which worked. I wanted a customizable widget for my home screen which shows me commute times and automatically reverses the route for the way home.

It's entirely free and open source. I've been using it for a couple of months and am happy with it hence sharing it here in case it's useful for others. It does require a (free) National Rail API key, link in the app.


Other features include:

  • Configurable railway station from which departures will be shown (mandatory)
  • Optional destination station to filter departures for
  • Ability to specify times at which source and destination stations will be swapped (useful for commuting!)
  • Customizable widget title
  • Configurable layout (font size, information density, title icons etc.)
  • Ability to customize colors (inc. transparency and ability to follow system theme)
  • Configurable refresh frequency inc. fully manual refresh only to save battery
  • Scrollable widget contents
  • Expandable rows to show all destination stations
 
Sponsor Post - registered members do not see these adverts; click here to register, or click here to log in
R

RailUK Forums

bonstio

New Member
Joined
17 Feb 2026
Messages
4
Location
St Albans
Someone reported an issue with train times not loading. I'm happy to help resolve this. I've not had other similar reports... I use it myself daily so I will continue to maintain this!
 

mmh

Established Member
Joined
13 Aug 2016
Messages
4,244
This is a great idea - thank you! I've just installed it. Seems there's a daily limit on how many API keys they issue, so I'll need to try tomorrow.

Thanks!
 

gazthomas

Established Member
Joined
5 Jun 2011
Messages
3,466
Location
Llandudno
@bonstio do you have any plans to provide a web service that links your app to the the Network Rail API obviating the need for the end user to do this themselves?
 

mmh

Established Member
Joined
13 Aug 2016
Messages
4,244
I'll need to remember to try again as soon as I wake up tomorrow! :D
 

pokemonsuper9

Established Member
Joined
20 Dec 2022
Messages
4,584
Location
Greater Manchester
Would it be possible for it to show cancelled if the train will leave the selected start station as planned, but not arrived at the destination station (e.g. see the Atherton line right now, trains are diverging via Bolton, but show as on time on the widget if start station is outside of the diversion (even though arrival station is)
 

bonstio

New Member
Joined
17 Feb 2026
Messages
4
Location
St Albans
@bonstio do you have any plans to provide a web service that links your app to the the Network Rail API obviating the need for the end user to do this themselves?
Nope. It takes two minutes to do this and is a one time operation for the end user.

Even if it weren't against the API terms of service, it would not make practical sense for me to make this. Sorry!
 

MrJeeves

Established Member
Associate Staff
Senior Fares Advisor
Joined
28 Aug 2015
Messages
4,608
Location
Burgess Hill
Even if it weren't against the API terms of service
Why would it be against the LDBWS terms of service? The whole point of the service is to allow people to create things to then be used be others, after all.

For what it's worth, the Rail Data Marketplace version of LDBWS has no rate limits, and uses JSON which is a bit more convenient than SOAP!
 

bonstio

New Member
Joined
17 Feb 2026
Messages
4
Location
St Albans
Thanks for the nudge. I'll check the ToC. Agree it would reduce friction if users didn't have to jump through these hoops on first use.
 

JaAnTr

New Member
Joined
6 May 2026
Messages
1
Location
SW London
This is super useful thank you! I think there might be a bug (and gave your repo to ChatGPT which agrees) where the filtering out of journeys isn't working. I think it when the journey is slow service that is not the direct route and the duration isn't being correctly calculated. If you do Wandsworth Town to Waterloo and set the
filter to show journeys less than 5 minutes it should be empty but is showing services to Kingston.

Think fix might be something like:
services = allServices.filter {
it.duration == null || it.duration <= config!!.maxJourneyDuration
}

becomes:

services = allServices.filter {
it.duration != null && it.duration <= config!!.maxJourneyDuration
}

WhatsApp Image 2026-05-06 at 12.57.58.jpeg
 

robbeale

Member
Joined
14 Jan 2016
Messages
51
My app stopped working today. It needs a new API but I can't seem to get one.
Is it a case or just keep trying or has the App undergone some changes.
I use it daily. It's super. Thanks
 

Top