Retail · Data platform · 2021–2023

A five-year, $25M estimate. Delivered in 18 months for under $2M.

We replaced a Fortune 5 retailer’s global product catalog while the original stayed live. Millions of items, live price and availability errors, and a replacement that could not take the existing system down for a single day. Other vendors and the internal teams put it at five years and $25M — and still had no answer for the errors running right now.

Replacing a live product catalog in three stages At month zero the legacy catalog is live and carrying price and availability errors, with a five-year, twenty-five-million-dollar estimate against it. At month three a bolt-on service runs beside the legacy system and clears the critical errors without taking anything down. By month eighteen a parallel ETL engine and catalog services have replaced it and the legacy system is switched off. Month 0 What we walked into Legacy catalog millions of SKUs, one monolith price discrepancies availability drift Internal teams and outside vendors put it at 5 years and $25M — and had no answer for the errors running live. Month 3 Stop the bleeding Legacy catalog still serving every request Bolt-on correction service reconciles price and availability The critical errors stop inside three months. Nothing is taken down, and the replacement gets room to breathe. Month 18 Replaced, legacy off Parallel ETL engine 10× the throughput of the old load Catalog services .NET microservices, Angular, Spark Full replacement delivered and the old system sunset — eighteen months, under $2M against that $25M estimate. start 3 months 18 months
Replacing a Fortune 5 retailer’s global product catalog. The shape of the plan — fix in place first, replace in parallel second — is most of why it cost under a tenth of the standing estimate.

What was wrong

  • The product catalog held millions of items and was serving incorrect prices and availability.
  • The critical errors needed fixing immediately, while the entire system also had to be replaced — in operation, without downtime.
  • Other vendors and internal teams estimated over five years and more than $25M for the transformation.
  • None of those estimates included an answer for the errors that were causing damage that week.

What we did

  • Separated the two problems. The urgent errors and the long replacement are different jobs on different clocks, and treating them as one was why every estimate was enormous.
  • Built a bolt-on service beside the live system that reconciled price and availability, buying time without touching the monolith.
  • Built the full replacement in parallel, including a parallel execution engine that improved ETL performance tenfold.
  • Cut over and sunset the original application rather than leaving two systems running, which is how these projects usually end.

What came out

  • Critical errors resolved within three months.
  • Full replacement delivered and the former application switched off within eighteen months.
  • Total cost under $2M, against a standing estimate of $25M.
  • ETL throughput ten times the system it replaced.

Built with

  • C# / .NET microservices
  • Angular
  • Apache Spark
  • BigQuery
  • Azure & GCP

Client names withheld by agreement. References available on request.

Been told your replacement will take years?

Before accepting an enormous replacement estimate, it is worth checking whether the work can be sequenced differently. This one could. Show us the plan and we will tell you, free, whether yours can.