RailScanner
I built Railscanner to figure out the cheapest days to travel into the office without checking train prices every day. It pulls fares from Trainline and TrainPal, then shows the best options across the next six weeks in one place. With simple filters and clear insights, it makes it easy to spot when it’s actually worth travelling.
- Year
- 2026
Stack
- Webscraping
- REST API
- UI/UX Design
- React
- Content Modelling
- TailwindCSS
- TypeScript

A simpler way to understand train costs
Railscanner rethinks how commuting decisions are made by turning fragmented train data into a single, focused view. Inspired by the simplicity of Skyscanner, the tool aggregates fares and schedules from train booking apps to surface the cheapest options at a glance. Instead of searching day by day, users can see an entire six-week window of prices, making patterns and outliers immediately obvious.
Built around real-world constraints
The project was driven by a specific need: finding the most cost-effective days to travel into the office. This constraint shaped key features in the interface. Users can filter journeys that arrive before a set time, such as 10am, ensuring results remain practical, not just cheap. By narrowing the scope to journeys that actually fit a routine, the tool avoids the common trap of optimising for price alone without context.
Turning raw data into useful signals
Beyond search, Railscanner introduces an insights panel that translates raw fare data into meaningful summaries. Over a six-week period, it highlights the cheapest and most expensive travel dates, calculates an average fare, and identifies trends in pricing week over week. Breaking this down further, it reveals how costs vary by day of the week, making it easy to spot consistent savings opportunities. For example, travelling on a Thursday instead of a Monday can result in significant monthly savings, a pattern that would be difficult to detect through manual searching.
Designed for forward-planning
The interface prioritises readability and speed. A clean, minimal layout keeps the focus on price and timing, while visual elements such as distribution charts make fluctuations easy to interpret. Interactions are lightweight and responsive, allowing users to adjust filters and instantly see updated results. The insights panel sits alongside the data, acting as a constant layer of interpretation rather than a separate analytical step.