Skip to content
App Crafters
All projects

Our own tool · Dry bulk shipping · 2026

The estimator, with a name against every assumption

When a fixture goes badly the only question worth asking is which assumption was wrong, and a workbook four people emailed around cannot answer it. This is the estimator that can, with a name and a timestamp against every number in it.

3

The power consumption rises by, not one: roughly the cube of speed, which is the term a workbook drops

  • Next.js
  • TypeScript
  • Postgres
  • AIS feeds
  • Python

Try it here

This is the same code that runs on the sector page, not a recording of it. Put your own numbers in.

  1. Push the speed up and watch the TCE fall even as the days shorten.
  2. Move the bunker price and see how much of the voyage it eats.
  3. Set the freight rate you were offered and compare it with market hire.

0/3

voyage-estimatorinteractive

Real arithmetic on figures you control, in your browser. Nothing is sent anywhere. Simplified against a full commercial estimator - no canal transit modelling, no weather routing, no scrubber differential - and it names those omissions rather than hiding them.

The numbers

1
Immutable version per estimate, with the author and timestamp on every changed assumption
2
Runs of the same model per voyage, once before the fixture and once against actuals

The problem

Voyage economics live in a workbook that four people email around.

When a fixture goes badly the desk cannot answer the only question that matters - which assumption was wrong, and who changed it. Post-voyage analysis is therefore not done at all, so the same optimistic bunker price and the same optimistic port days get used again on the next estimate.

What we did

  1. Every estimate is an immutable version. Changing an assumption creates a new one with the author and the timestamp attached, so the pre-fixture conversation is reconstructible months later without anyone having to remember it.

  2. Consumption follows the vessel's own curve rather than a flat figure, with speed cubed. A flat mt/day makes speeding up look free, which is the error that flatters the most fixtures - and it is exactly the mistake a workbook makes.

  3. Bunker prices and port cost history are pulled in with an age stamp, so a stale input is visibly stale on the screen rather than quietly wrong inside the arithmetic.

  4. The same model runs again after the voyage against actuals, putting estimate and outcome side by side. That comparison is the only mechanism that ever improves the assumptions.

Where it got to

The estimator on the maritime page is this model, simplified and running in your browser. The cube-law behaviour is the same: push the speed up and the TCE falls even as the voyage shortens.

A worked example

The estimator on the maritime page is this model. Supramax, US Gulf to Continent, 60,000 mt at $16, market hire $13,500:

At 12.5 kn, consumption
19.9 mt/day
Voyage days
32.0
TCE
$15,913/day
Against market hire
+$2,413/day
At 16 kn, days saved
4.6
TCE at 16 kn
$13,510/day

Speeding up saved four and a half days and cost $2,400 a day. A flat consumption figure hides that completely, which is how estimates flatter a fixture.

Try it here

Want something like this for your business?

A 20-minute call with the two people who would build it. You tell us what you need; we tell you whether it is worth building and roughly what it costs.

The full page: Maritime & logistics
Book a call