Skip to content
Clinford Jordano Valencia
All projects
PlatformWeb

Migrating 100+ Legacy Pages to React and Next.js

A progressive migration of a Velocity-based monolith into modern frontend repositories, without a disruptive full rewrite.

Role
Software Engineer (Web)
Period
2018–2025
Stack
React · Next.js · TypeScript · Migration strategy

The problem

Traveloka's accommodation partner product (TERA) ran partly on a legacy monolith built with Apache Velocity. The goal was to move it onto the modern React and Next.js frontend stack without stopping product work.

The approach

  • Migrate progressively, not all at once. I owned the migration strategy: pages moved one by one into React and Next.js repositories while the product kept shipping.
  • Define the patterns first. Migration architecture, reusable patterns and technical standards were agreed before the bulk of the work, so each page didn't reinvent them.
  • Coordinate across teams. Implementation and rollout were shared between several teams, with clear ownership per page and a consistent way to verify parity.

Earlier in my time at Traveloka I had already moved 11 pages (about 35 man-weeks of work) out of the monolith into the Front-End Web repositories, which was the first step of the larger effort.

The result

More than 100 legacy pages were modernized into React and Next.js without a full-platform rewrite and the risk that comes with it.