Applications
CompletedCustomer Portal Migration
I moved a customer-facing portal from an older codebase to a modern TypeScript stack, step by step and on the same data, and removed the old code at the end.
Legacy removed5/5
The old code goes, and customers never went offline.
The problem
Customers use the portal for real work, so it could not go offline for a rewrite.
The older codebase made every new feature, security control and integration harder to deliver.
My contribution
- Ran an incremental migration, with old and new running side by side.
- Built a new frontend and API with shared validation contracts.
- Kept existing integrations and links working, then removed the legacy code.
- Moved sign-in behavior, including two-factor login, to the new API.
Technical architecture
- Interface
- Single-page web application
- Application
- API service
- Contracts
- Validation schemas shared by frontend and backend
- Delivery
- Container-based deployment
Technologies
- React
- TypeScript
- NestJS
- Docker
Highlights
- Legacy code fully removed
- No risky single launch day
- One typed contract across frontend and API
Details are generalized to protect confidential information. Company systems, customers, figures, source code and screens are not shown.