Getting off a no-code stack without breaking a live business.
Marine and offshore assurance · portal re-platform
The portal worked. That was the problem — it worked well enough that the business ran on it, and it was built on a no-code stack nobody could extend, test or take with them. Our job was to rebuild it exactly, then replace it.
- Sector
- Marine assurance and asset compliance
- Our role
- Full re-platform, frontend and backend
- Engagement
- Delivered 2026
- 01
Rule Zero: never write to production
The existing system held live client data — vessels, inspections, compliance status. So we set one rule above every other and enforced it in the repository's own instructions: read-only access to everything, no writes to the live platform under any circumstances. The entire recreation was built and demonstrated against fixtures, so no stage of the work could damage the business it was meant to save.
- 02
The specification came from the running system
Nobody had a specification, so we produced one. Every request, every workflow, every element event and every render binding in the live system was extracted into machine-readable files, screenshot and network-logged during a live walkthrough, and turned into a checkable document. That document, not anyone's memory, became the definition of done.
- 03
Parity was audited, not assumed
We kept a parity matrix: 63 workflows, 131 element events and 199 render bindings, each row marked done, gap, deferred or dead, each with a citation to the file and line that proves it. A page counted as finished only at zero open rows, twice audited. It is a tedious document. It is also the reason nobody discovered a missing feature after cutover.
- 04
We fixed the bugs we were porting
Reimplementation surfaces things. The original notification logic removed the acting user twice under two different identifiers, never de-duplicated its recipient list, and sent email inline in the request path. We documented each one and resolved it in the port rather than faithfully reproducing it — which is the whole argument for owning your code.
By the numbers
- 393
- Audited parity rows
- 90
- Endpoints ported
- 15
- Tables migrated
- 0
- Writes to production
Tell us what is breaking.
Whether you want one of our platforms or a team to build something new, the first conversation is the same: what are you running now, and where does it fall over?