All projects
Marine & Ship Repair · 2026
Job costing system for a ship-repair yard
- Job costing
- Quoting
- Web app
- Offline-first data
What it took
Nine sheets
The whole costing workbook — labour, subcontractors, travel, materials, logistics — with every formula unchanged
- Encrypted, not gated
- The published page holds ciphertext; both the username and the password feed the key derivation
- Offline by default
- Figures stay in the browser; Postgres is optional and inert until it is configured

A yard in Klaipėda has priced repairs for sixteen years from a nine-sheet workbook. One person maintained it, and a job's real margin showed up at month end. The workbook became a web application: every formula kept, every job's plan against actual visible while the work is still on the dock, the company's data in its own database.
- What we kept
- The formulas, all of them, unchanged. The structure of the nine sheets -- labour, subcontractors, travel, materials, logistics -- and the names the yard already used for every line. Nobody had to learn a new vocabulary to see the same numbers.
- What changed
- Plan against actual is visible while the job runs, not after it closes. A portfolio view puts every job side by side and totals the company on a revenue-weighted margin, so a small job at 90% cannot drag the company figure around. More than one person can open the same book at once, closing a job makes it genuinely read-only, and the exports open correctly in Excel.
- How it runs
- Offline by default: the figures stay in the browser, and Postgres is optional, inert until it is configured. The published page is encrypted rather than gated -- both the username and the password feed the key derivation, so without them there is nothing in the file to read. Hosted in the EU, on a database of the yard's own.
- How it is built
- A single web application, restyled onto the site's own tokens and built in three languages. Period filters are an overlap test rather than "started within", because the question anyone asks is what ran during February. CSV exports carry a BOM and CRLF endings, verified at byte level.
Project gallery
The work



Same shape of problem on your side?
Fifteen minutes, no slides, and a reply within one working day.
Who picks upNot an account manager
“You will be talking to me, not to an account manager. I scope the work and I am on the build.”
Andy Fayngold
CEO, ALDY · info@aldystudio.comNo deck · no obligation