International maritime transport company · market data and contracts

From a system with a 2011 UI to a new product in 9 weeks

An internal market-data system of 237,000 lines, built on UI components 14 years out of date, rewritten as a new product. The analysis before the code proved 65% of the old system was dead — the client paid only for what was alive.

  • 9 weeks to a new product
  • 65% of the scope cut after analysis
  • 237,000 lines of legacy code analyzed

The client

An international maritime transport company whose daily work depends on an internal system for market data and contracts — data entry, lookups, Excel import/export, PDF reports and scheduled email reports for management and partners.

The challenge

The system was over a decade old: 237,000 lines of code, a UI built on components from 2011 that had been unsupported for years, and a database of 119 tables layered with long-forgotten functionality. The licenses were ancient, the hosting tied to obsolete infrastructure, and every change required archaeology.

The classic reflex would be "rewrite everything one-to-one". That is exactly what we didn't do.

The approach

Full reconnaissance before the quote. We took the old system apart — and, more importantly, its live database. The findings speak for themselves: about 35% of the database was invisible from the code — a hidden trigger, dead procedures unused since 2016, 19 views nobody reads, tables without a single line of code referencing them.

Cut before building. The analysis became a checklist conversation with the client: which of this do you actually use? The answer — about a third. 65% of the system was cut by mutual agreement before the first line of new code. The client didn't pay to port dead weight.

Verify parity, not gut feeling. Real data from the old system was imported for row-by-row comparison, and an independent audit matched the new system against the old feature by feature — confirmed differences went into a plan, not into post-launch surprises. Two interim releases went through feedback from the real users.

A modern foundation without old shackles. The new system runs on .NET 10 with license-free UI components, automated background jobs, PDF and Excel reports and an audit trail on every action. The old system kept running untouched throughout the transition.

The result

  • A new, separately branded product in about 9 weeks — including two rounds of client feedback and a final hardening pass.
  • The client paid for ~35% of the old system — the living part; the rest was proven dead and stayed in the past.
  • No UI component license fees; a modern look users adopted without losing their habits.
  • A documented analysis that stays with the client — the map of the system now exists, and the next change won't start with archaeology.

The most valuable line of code is often the one you don't write: a third of the project's price was saved because we first proved what was dead.

Technology

.NET 10 · ASP.NET Core MVC · EF Core 9 · MariaDB · Quartz.NET