Methodology · revised 26 August 2026
How the numbers are made
Every launch tool uses one waste model: order quantity is the raw quantity increased by waste percent, then rounded up to a stated increment. Any positive quantity of a complete unit (board, sheet, bag, tin, pack) is at least 1 — we never round a real amount down to zero. Maths runs in the browser. Formulas live in src/lib/formulas/ and are covered by Vitest.
Units
Internal SI. Display AU/NZ metric by default, UK metric (same SI, different stock lengths), or US imperial. Preference is stored in localStorage. Stock lengths: AU 3.6 / 4.8 / 5.4 / 6 m; UK 3.6 / 4.2 / 4.8 / 5.4 m; US 8 / 10 / 12 / 16 ft. On metre fields, a whole number of 1000 or more is read as millimetres (5400 → 5.4 m) so a tape measure can be typed without converting in your head. Thickness/height fields treat whole numbers of 10 or more as millimetres (100 → 0.1 m). 600 stays 600 m — rural fence runs exist.
Deck
Board count is ceil((cover span + gap) / (board width + gap)), or zero if the deck has no size. Joists, bearers and posts are floor(span / centres) + 1. Post height is deck height minus joist depth minus bearer depth (stacked). Footings are cylinders. Screws default to2 per board × joist crossing. Span tables are not used.lookupJoistSpan() is an empty extension point for IRC R507 later.
Fence
Butted palings: ceil(run / width). Lapped: cover = width − overlap (default 15 mm). Posts = bays + 1 + gates, or zero if the run is zero. Default takeoff has no gate (add them if the run needs one). An overlap as wide as the paling is treated as butted so the count cannot explode. Rails = paling bays × rails per bay. Steel panels use the same bay setting. COLORBOND is a BlueScope trademark, used descriptively.
Concrete
Slab and pads: L × W × thickness. Strip: L × W × depth. Post hole: π r² h × count. Solid stair: ½ × rise × going × width (triangular prism). Bags: ceil(m³ after waste × bags per m³). Default 108 × 20 kg bags per m³. Mix guidance thresholds (stated): bags ≤ 0.4 m³; mini-mix ≤ 1.2 m³; else plant mix.
Stairs
Auto risers: round(total rise / 175 mm), clamped. 2R+G = 2 × riser + going. Stringer = hypot(total rise, total going). NCC-style flags compare with publicly described Housing Provisions 11.2.2 ranges for ordinary stairs (not pasted as a table) via ABCB. IRC-style flags use public R311.7 figures (riser max 196.85 mm, going min 254 mm). Not certification.
Plasterboard
Walls 2(L+W)H minus openings; ceiling L×W. Sheets from area × (1+waste) / sheet area, walls and ceiling separate. Tape 1.8 lm/m². Compound 0.45 kg/m². Screws 30 per sheet. Gyprock is a CSR trademark, used descriptively.
Flooring
Room + hallway. Pattern waste and extra waste are added (not compounded). Packs = ceil(area after waste / pack coverage).
Paint
Wall area minus openings, plus ceiling if selected, times coats, divided by coverage (default 12 m²/L, typical 10–16). AU tins searched from 10 L, 4 L, 1 L for smallest excess. US gallons at 3.785 L/gal.
Rebar and mesh
Cover is deducted from both plan dimensions. Bar count = floor(span / spacing) + 1. Stock pieces use a lap as extra steel. Default N12 lap 500 mm is a typical-practice takeoff allowance for many AU house slabs — verify with the engineer; we do not reproduce AS 3600 tables. Published mass: N12 0.888 kg/m, N16 1.58 kg/m. Straight-bar check: mass = count × length × kg/m (example: 10 × 6 m N12 = 53.28 kg). Mesh sheets 6.0 × 2.4 m; SL72 3.11 kg/m²; SL82 5.31 kg/m² (catalogue mass, not a standard table).
What this is not
Not NCC, Manual J, or AS 1684 certified. Not a span table. Not a reinforcement design. If a formula is ambiguous, the assumption is written here rather than guessed silently. Revised 26 August 2026.