Skip to content

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.

Client · CITNPractice · Legacy ModernizationStack · Next.js / Express.js / SQL Server / ModernizationLive · citn.in ↗

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
CITN modernized ERP interface

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