TimeMachine: A bridge between React and Angular that enabled incremental modernization without disrupting development.
Overview
American Express faced a critical challenge: how to modernize their customer care platform without disrupting service to millions of cardmembers. With a major travel vertical launch on the horizon, we needed to enable new feature development while gradually transitioning from Angular 1.x to React.
Impact
- Successful Launch: Delivered the travel vertical on schedule, onboarding 300+ specialized agents to the platform
- Zero Downtime: Maintained 99.9% platform reliability during the transition to React
- Team Velocity: Enabled feature teams to build new functionality in React without waiting for full migration
- Technical Foundation: Established a proven pattern for incremental modernization of legacy systems
Technical Design
TimeMachine bridged Angular and React through three core components, enabling teams to build new features in modern technology while preserving the stability of existing systems.
DOM Integration
React components were seamlessly mounted within Angular's DOM using a portal system, allowing new features to coexist with legacy code without requiring structural changes to the application.
Event Communication
A global event system enabled seamless interaction between frameworks, allowing new React features to integrate naturally with existing Angular functionality.
State Management
Automatic state synchronization between frameworks ensured that both new and existing features remained consistent, enabling reliable operation of the combined system.