Skip to content
All case studies

03 · Quislex, legal-tech · PurpleTalk

SUN25

Full stack replacement of a 15-year-old Excel system with React workflows that keep Excel's behaviour.

Context

Quislex ran operations across several departments on a 15-year-old Excel system. SUN25 moves those workflows into a web application. People keep the spreadsheet behaviour they know, and the logic moves into services.

My role

Full stack: the React workflows and the NestJS services behind them.

Architecture

Architecture, left to right. Users: 7+ departments → Frontend: React SPA · 25+ workflows → Services: NestJS + TypeORM → Data: SQL Server.

Request path. Stored procedures that lived in SQL Server now live in the service layer.

Key decisions

  1. 01

    Syncfusion EJ2 to stay close to Excel

    Formulas, protected cells and validation come from the spreadsheet component, so the new screens reach ~95% parity with Excel and people keep their habits.

  2. 02

    Stored procedures into NestJS + TypeORM services

    Business logic moves out of SQL Server into NestJS services. It is simpler to maintain, and the APIs got faster.

  3. 03

    Role-based access and a Draft → Review → Approved flow

    Views and actions follow each department's role. State-based routing moves a sheet through Draft, Review and Approved and improves coordination between departments.

Results

  • ~95% Excel parity across 25+ React workflows.
  • Manual operations cut by ~40%.
  • APIs ~30% faster after the move to NestJS + TypeORM.
  • Initial load under 2s, and a bundle ~35% smaller, through lazy loading, code splitting and throttled API calls.

Stack

  • React
  • Syncfusion EJ2
  • NestJS
  • TypeORM
  • SQL Server