Skip to content
Engineering

Migrating a Legacy Telecom System to Laravel + Vue

Lessons learned from modernizing a 15-year-old PHP telecom system to a modern Laravel + Inertia.js stack while maintaining business continuity.

Date April 13, 2026
Author Admin
Read Time 1 min read
Category Engineering

The Challenge

Our client, a telecom provider, was running on a custom PHP framework built 15 years ago. The system (ETIS) handled everything from customer management to network operations. It worked, but it was slow, hard to extend, and impossible to test.

The Approach: Strangler Fig Pattern

We didn't rewrite everything at once. Instead, we used the Strangler Fig pattern — building new features in the modern stack (Laravel + Inertia.js) while gradually migrating existing functionality. Both systems ran in parallel, connected through database views and API bridges.

Key Decisions

  • Inertia.js over traditional API + SPA: Faster development, type-safe props, no API versioning overhead
  • MeiliSearch for customer lookup: Replaced slow SQL LIKE queries with sub-200ms full-text search
  • Authentik SSO: Unified authentication across the old and new systems during migration

Results

After 8 months, 70% of daily operations happen in the new system. The remaining 30% (legacy reporting and specialized network tools) are scheduled for migration in the next phase.