Case Study · 01
Modernizing a Legacy ERP System
Rebuilt a legacy ERP system originally developed around a 2009-era C++ / MS SQL Server stack into a modern, scalable web system.
01 — The Challenge
Replace a system the business relied on every day without a single big-bang cutover, without losing data, and without halting operations.
02 — The Existing System
- Desktop-era C++ client tightly coupled to the database
- Business logic accumulated across more than a decade of incremental changes
- Microsoft SQL Server as the system of record
- Limited web access, no modern permissions model, no API surface
03 — The Modernization Approach
- Deep audit of existing business logic, schema and workflows
- Web-native rebuild with a Next.js client and Express.js service layer
- SQL Server retained as the production data platform, with schema hardened and documented
- Modern authentication, permissions and audit logging added at the service layer
- Phased delivery — modules migrated incrementally with real users testing every release
- Clear cutover plan and rollback path for each phase

04 — The New Experience
- Browser-based interface accessible across the organization
- Faster, searchable workflows replacing multi-step desktop navigation
- Role-based access so employees see only what they need
- Audit trail and activity history out of the box
- A maintainable codebase the next engineer can extend
05 — Architecture
- Next.js frontend deployed as a modern web application
- Express.js API layer with hardened authentication and rate limits
- Microsoft SQL Server 2025 retained as the production database
- Service boundaries drawn around existing business domains rather than imposed from outside
06 — Technology
Next.js · Express.js · TypeScript · Microsoft SQL Server
07 — Outcome
A modern, scalable system that replaces the 2009-era stack — easier to maintain, easier to extend, and designed to grow with the business.
08 — What We Learned
Modernization succeeds when it is treated as a business migration first and a technical migration second. The code matters, but the cutover plan, the data integrity checks and the trust of the team using the system every day matter more.
Continue exploring
Have a system in mind? Tell us what it needs to do.
Start a similar project