← All work

Rail Europe · 2025 — now

Modernising a ten-year-old booking platform, one layer at a time

Instead of a rewrite, a revamp — a legacy Rails monolith moved toward modern Rails and Hotwire, the mobile apps brought onto the same codebase, and booking pages made to feel faster.

Senior Software Engineer

Rail Europe homepage with the train ticket search form on the left — from, to, dates and passengers — over a photo of Paris with the Eiffel Tower.
front-end bundle size
−40%
average, critical booking pages
−1.3 s

Context

Rail Europe sells train tickets across Europe. Its customer-facing site was a Rails monolith more than ten years old, with layers of frontend history: CoffeeScript, jQuery, Sass, AJAX-driven partials, and a separate React SPA plus an API that mainly served the mobile apps.

After the from-scratch SvelteKit rebuild was stopped, the plan became revamping this platform in place, toward a modern Rails and Hotwire stack. I joined that effort as a senior engineer, and took over the mobile apps.

What I did

Outcome

The front-end bundle shrank by 40%, and the critical pages of the ticket-booking funnel got 1.3 seconds faster on average.