DL-015 · Case study
Taking over a product-research SaaS that kept stalling
A product-research SaaS for Amazon sellers inherited an app that stalled under load. Our audit found it spent almost all its time waiting; we fixed the core, rebuilt it and kept running it.
- Client
- Name withheld
- Location
- US South
- Industry
- Product-research SaaS
- Capabilities
- 01Audit02Stabilize03Build
01
Challenge
- Inherited application slowed down and stalled as usage grew.
- Database deadlocks interrupted user requests at busy times.
- Slow, costly calls to third-party product-data providers.
02
Environment
- Angular front end on an older .NET backend.
- Relational database plus Amazon SP-API and external product-data feeds.
- Live paying users throughout the takeover.
03
Intervention
- Instrumented the app and profiled thread usage under real traffic.
- Traced the slowdown to thread starvation: well over a hundred threads mostly waiting.
- Fixed the database deadlock and cached repeated product-data responses.
- Rebuilt V1: React front end, modular .NET services, background jobs, dedicated team.
04
Outcome
- Root cause identified in the first weeks of the takeover.
- Rebuilt V1 launched to customers in 2024.
- The same team has developed the product continuously for over three years.
- 01LEGACY APPAngular / .NET- -THREAD POOLMostly waiting
- 02THREAD POOLMostly waiting- -DATABASEDeadlocksdeadlock
- 03MONITORINGProfiling- -THREAD POOLMostly waitingroot cause
- 04LEGACY APPAngular / .NET→V1 CORERebuilt servicesrebuilt
- 05V1 CORERebuilt services→JOB WORKERSBackground
- 06V1 CORERebuilt services→CACHEProduct data
- 07SP-APIAmazon data→V1 CORERebuilt services
Results, as published.
- 99%
- Of app time spent waiting, found in the audit
- ~6 weeks
- To close the database deadlock
- 3+ years
- Of continuous development
Stack and services.
Tell us what has to work.
A senior engineer reads every brief. Describe the system, what it runs on today and what happens when it fails.
Discuss a project→