The only way to be first is to be reading the live feeds yourself, so most of the work is a backend that runs continuously whether or not anyone has the app open. It ingests live National Rail data around the clock and keeps a record of what actually happened on every service, which is the only thing a prediction can honestly be measured against later.
The app on top is the part people see: journey search, live tracking, route maps drawn on real track geometry rather than straight lines between stations, offline journeys, ticket import, sharing, a Live Activity on the lock screen, and a passport of trips you have taken. Search was the first thing that had to get fixed — it started out taking up to fifteen seconds, and rebuilding how journeys are queried brought it down to around three.