← back

RailScanner

Frontend DeveloperFull-Stack Developer

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
  • ReactReact
  • Content Modelling
  • TailwindCSSTailwindCSS
  • TypeScriptTypeScript
RailScanner

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.