v1.0.7 Latest April 2026

⚡ Smart Calculator — 10 New Calculators & Fastener Fixes

  • Concrete Beams — main bars, stirrups, tie wire, concrete volume, and formwork (soffit + side shuttering) from beam schedule.
  • Wall Plastering — cement, sand, and skimcoat from wall area, plaster thickness, and mix ratio. Supports single-coat and scratch+brown coat.
  • Excavation & Gravel Fill — soil volume for footings and grade beam trenches, compacted gravel fill under slabs and footing beds.
  • Isolated Column Footings — two-way rebar mat, pedestal starter bars, concrete, and formwork from footing schedule.
  • Waterproofing — cementitious slurry, crystalline admixture, torch-applied bitumen membrane, or cold-applied peel & stick. Includes upturn area calculation.
  • Door & Window Lintels — main bars, stirrups, concrete, and formwork props for lintels over every CHB wall opening. Bearing (300mm each side) factored in.
  • Column Formwork added to the existing Concrete Columns calculator — plywood side shuttering and 2×4 clamp lumber now included automatically.
  • Fastener price connections fixed — 10 line items (Tie Wire matting, Binding Wire, GI Hanger Wire, Drywall Screws, Concrete Nails, Finishing Nails, Wood Screws, Expansion Bolts) now correctly read from the master price list and respond to Fill Prices.
  • Stirrup keyword map extendedStirrup Xmm and Stirrup / Tie Bar Xmm desc patterns now match correctly so beam and lintel stirrups are priced automatically.

✨ Smart Calc Button & Picker Redesign

  • Smart Calc button upgraded from a plain outline button to a gradient purple CTA with a breathing pulse ring and hover lift — clearly the primary action in the toolbar.
  • Picker modal reorganised into 5 construction-sequence categories (Site & Foundations, Concrete Structure, Roof & Envelope, Interiors & Finishes, Utilities & Systems) with count badges and a 3-column layout.
  • Each category uses a uniform color tint — cards within a category share the same background and border color instead of random per-calculator tints.
v1.0.6 Previous April 2026

🎨 UI Consistency & Design Tokens

  • Unified CSS token system — single orange accent, 5-step type scale (min 10px), 5-step radius scale, spacing scale, and semantic color tokens (danger / success / warning / info).
  • All 166 inline SVG icons standardised to stroke-width 1.75 for visual consistency throughout the app.
  • Unified .btn system replacing 4 separate button patterns; unified .badge base replacing scattered status label styles.
  • Removed conflicting blue accent from CSS tokens — orange is now the single authoritative accent in both light and dark mode.

🔧 Estimate Tab — Logic Fixes

  • Professional fees excluded from markup base. Markup and contingency now apply only to direct costs (materials + crew). Fees are added after markup, not marked up.
  • Wastage 0% now works. A falsy-check bug was silently replacing 0% wastage with 5%.
  • Wastage clamped to 0–100%; markup/contingency clamped to 0–300%.
  • Payment milestones migrated to central state. Save blocked when milestones don't total 100%.
  • Template load resets project ID and site log — no longer risks overwriting an open project on next save.
  • FF&E budget synced to state before labor calculation runs — prevents stale-zero on project load.
  • All expiry date calculations replaced with Date.parse() — no longer fails silently on non-ISO date strings.

📦 Material Library — Fixes

  • State sync fixed across all 7 write paths (price edit, new material, AI sync, bulk save, delete, currency convert, unpriced prompt). All reads are now consistent.
  • Currency conversion no longer corrupts base prices. Runtime _phpBasePrice stripped before save. Original updatedAt timestamps restored on PHP revert.
  • AI-synced prices (priceSource: 'ai') no longer overwritten by master-price sync on every library re-render.
  • Editing any material price now triggers a full project recalculation, not just built-in materials.
  • All material IDs now use uid('mat')Date.now() collision on rapid bulk-add eliminated.
  • Price-fill fuzzy match tightened — "Sand (slab)" no longer matches "Sand (mortar)".
  • Library price-update nudge no longer rebuilds DOM on every keystroke.
  • Built-in near-matches excluded from "Save to Library?" prompt — prevents shadow duplicate entries.

📊 Reports & Exports — Fixes

  • PDF labor totals fixed. Crew totals showed ₱0 due to a rate-type key mismatch ('daily' stored as 'day').
  • PDF professional fees fixed. Wrong basis key ('pct' vs 'pct_construction') caused all percentage-based fees to show ₱0.
  • Payment milestones in PDF now read via getState() — no longer reads a stale static binding.
  • Cost charts and summary table now use the correct markup base (direct costs only, excluding professional fees).
  • Professional fees now appear as an explicit row in the cost breakdown table.
  • Bid PDF DOM restore triggered by save-promise completion — no longer races a fixed 500ms timeout.
  • CSV professional fee amounts now computed against construction cost (materials + crew), not materials alone.
  • Reports calls calculateProject() on entry — payment amounts are always fresh on first visit.
v1.0.5 March 2026

⚡ Smart Calculator Expansion

  • Added Doors & Windows, Plumbing rough-in, Electrical rough-in, Staircase, and Septic Tank calculators.
  • Multi-storey support — calculators aggregate across all defined floors when multi-storey mode is active.
  • Custom item rows can be added within any calculator card for scope outside the formula.
  • "Save to Library" nudge appears when a Smart Calc output item is priced but not yet in your library.

📋 BOQ Export — DPWH INFR-17 (Pro)

  • New Bill of Quantities Excel export formatted to Philippine DPWH standards. OCM, contractor's profit, and VAT applied per line item.
  • ABC (Approved Budget for the Contract) summary sheet with full DPWH-compliant computation breakdown.
  • Configurable OCM % and profit % inputs. Project duration, signature block, and regulatory notes included.

🔀 Compare Estimates

  • 2- or 3-way project comparison table with B-vs-A delta chips, mixed-currency warning, and copy-to-clipboard export.
  • AI Comparison Summary (Pro) — written analysis of cost differences and value drivers.

💱 Currency Conversion

  • Live exchange rates via Frankfurter (ECB) API — converts all library and BOM prices to any selected currency.
  • Reverting to PHP restores original prices with original staleness timestamps. Re-converting always uses the original PHP base.
  • Custom currency symbol support. Preference persisted across sessions.
v1.0.0 Initial Release February 2026

🎉 First public release

  • Local-first desktop construction cost estimating app for small teams and independent estimators.
  • Estimate groups & phases with manual line items and Smart Calculators — CHB Wall, Concrete Slab, Rebar, Steel Matting, Roofing, Ceiling, Tile Flooring, Paint, Fence, Columns.
  • Material Library with 130+ built-in PH construction materials across 10 categories.
  • Multi-trade labor (day rate / project rate), professional fees (% or lump sum), FF&E budget.
  • PDF export (branded, cover page, payment schedule, dimensions, notes, terms). XLSX, CSV, Share Link.
  • AI BOM Suggest, Fill Prices, AI Price Sync (Pro). Project templates, payment schedule presets, data backup/restore, autosave, dark mode.