This PR represents a ground-up rebuild of all our roofing assemblies so that material takeoffs all happen live in each calculation, rather than being "pre-packaged." With this, we built a fair amount of infrastructure to knit together our bill of materials-based LCA tooling with our lightweight analysis.
Roofing Configuration
With this release, a user can configure a roofing assembly from nine different roofing types:
  • Built-Up Roofing (BUR)
  • Modified Bitumen
  • Standing Seam Metal Roofing
  • Ballasted Single-Ply EPDM
  • Adhered Single-Ply EPDM
  • Single-Ply TPO
  • Clay Tile
  • Asphalt Shingles
  • PVC Membrane
For each of these roof assemblies, we calculate takeoffs down to the fasteners. The description of the assembly is passed back to the user in the
component_description
field.
By declaring an R-value (or RSI, depending on the unit system), we calculate insulation takeoffs. The user can declare one of six insulation types:
  • Expanded polystyrene (EPS) insulation
  • Extruded polystyrene (XPS) insulation
  • Polyisocyanurate (PIR) insulation
  • Mineral wool insulation, high-density
  • Mineral wool insulation, low-density
  • Fiberglass blanket insulation (faced)
Handling Performance Drag
The expanded API functionality introduces computational overhead that impacts response times. This release includes corresponding infrastructure updates to increase Lambda memory allocation, addressing immediate performance requirements. As a longer-term optimization, we're evaluating whether to extract computationally intensive operations into dedicated endpoints to improve overall system responsiveness.
CLF Benchmarking
There are new endpoints which benchmark results against the results of the CLF wbLCA benchmark study. These endpoints return the percentile of the current project in the benchmark set and a short description of the benchmark and the scope of comparison. When representing these benchmarks to users, we recommend using this text directly.
benchmark_type: embodied_carbon_intensity,
benchmark_set: CLFv2,
percentile: 67,
description: This project's embodied carbon intensity is at the 67th percentile of the Carbon Leadership Forum's WBLCA Benchmark Study (v2, 2025). This benchmark comparison includes only the 243 projects for which there is comparable data in the study, including emissions from structure, enclosure, and interiors across stages A1-A3, A4, B4-B5, and C2-C4.
Changes in results
This bottom-up refactor to the roofing assemblies has
lowered
the carbon intensities of the roofing assemblies. This is mainly due to enforcing the exclusion of all structure and finish materials from our library of roofing details, and by allowing the roofing R-value to depend on climate zone in the absence of user inputs (our previous model assumed a relatively higher insulating value, which wasn't parameterized). Across our test set, we see the following changes to envelope emissions overall:
  • Max
    : -13.4%
  • Mean
    : - 10.3%
  • Min
    : -6.3%