MeasureTwice

Methodology

How MeasureTwice calculates quantities, costs, and planning ranges.

Our calculators combine plain geometry, published material yield assumptions, waste allowances, and clearly labeled cost ranges. The goal is a useful planning estimate, not a quote.

Calculation workflow

1. Shape formula

Each calculator starts with the geometry of the project shape: rectangular slabs, round holes, strip footings, walls, columns, stairs, curbs, or cost models.

2. Unit conversion

Inputs are normalized into US customary units, usually feet, inches, cubic feet, cubic yards, bags, and dollars.

3. Waste allowance

Concrete calculators default to a waste allowance so uneven subgrade, spillage, form variation, and measuring error do not leave the project short.

4. Buying route

Where useful, pages compare bagged material and ready-mix material so users can choose a practical purchase path.

Data rules

Where assumptions come from

  • Material yields and density assumptions live in src/data/materials.json.
  • Each material group must carry a source URL and lastUpdated date.
  • Changing coefficients or prices requires npm run check-data and npm run build.
  • Prices are planning ranges, not live store inventory or contractor bids.

Source priority

We prefer manufacturer product data, published technical references, and industry cost guides. If a number cannot be verified, it should be labeled as an estimate or held back until a source is available.

Limits

What calculators do not know

A calculator cannot inspect site access, soil conditions, subgrade prep, drainage, building code, delivery minimums, finish requirements, reinforcement, demolition, or contractor labor scope.

For concrete cost pages, labor is an editable planning allowance. Users should compare it against local quotes and ask what is included before choosing a contractor.

Update cycle

Material coefficients are reviewed when a calculator is created or materially changed. Price ranges should be refreshed at least annually and whenever a source becomes stale.