EstimatorLab is a collection of modular estimation tools designed for real-world construction and engineering workflows — built to streamline takeoffs, budgeting, and field calculations across all trades.
Created and maintained by Poor Louis Labs, this project aims to make estimating accessible, flexible, and transparent, using lightweight, browser-based calculators that can be hosted anywhere — from GitHub Pages to offline jobsite laptops...
EstimatorLab provides a growing library of interactive HTML/JavaScript calculators for the major construction divisions:
| Division | Estimator |
|---|---|
| 01 | General Requirements |
| 02 | Sitework / Utilities |
| 03 | Concrete |
| 04 | Exterior Closure |
| 05 | Roofing Systems |
| 06 | Interior Construction |
| 07 | Conveying Systems |
| 08 | Mechanical |
| 09 | Electrical |
| 10 | Equipment |
| 11 | Special Construction |
Each tool is designed to be:
- Fast and offline-capable – Runs locally in any modern browser.
- Transparent – All calculations visible and editable.
- Customizable – Inputs, rates, and assumptions can be tailored to regional or project-specific conditions.
- Modular – Each estimator is a standalone HTML file but shares a consistent layout, logic, and export format.
- Material and labor breakdowns with adjustable unit rates
- Auto-calculated total and per-unit pricing
- Man-hour and crew productivity modeling
- Optional toggles for abatement, demolition, or testing
- CSV and JSON export for integration into estimating systems
- Responsive design for desktop and mobile use
- Simple versioning for field validation and audits
Clone the repository:
git clone https://github.com/epi13/EstimatorLab.git
cd EstimatorLabThen simply open any estimator in your browser:
open 08_Mechanical.htmlor drag the file directly into your browser window.
EstimatorLab includes an interactive, browser-based REPL for unit-aware calculations, scripting, and graphics demos.
- Open:
src/REPLCalc/estimator-repl.html - In the REPL, run
:docsfor the built-in help page. - Run
:doomto launch the gfx loop demo.
Runtime notes:
- Some functions are side-effecting and are categorized by effect groups:
PURE,IO_GFX,STATE,RNG,TIME. - Disallowed effects throw errors prefixed with
ERR[E_EFFECT]. - Random sampling can be made deterministic for the session with
seed(n). - Type/unit errors are prefixed with
ERR[E_TYPE]andERR[E_DIM].
EstimatorLab can be hosted directly via GitHub Pages or any static web host.
To enable Pages:
- Go to your repository’s Settings → Pages
- Set source to
mainbranch →/ (root) - Access your tools via
https://yourusername.github.io/EstimatorLab/
EstimatorLab/
├── 01_General_Requirements.html
├── 02_Sitework.html
├── 03_Concrete.html
├── ...
├── assets/
│ ├── css/
│ ├── js/
│ └── data/
├── docs/
│ ├── changelog.md
│ ├── contributing.md
│ └── roadmap.md
└── index.html ← Main dashboard / navigation hub
- Unified dashboard interface for selecting and managing estimators
- Analytics panel to summarize material/labor distribution across trades
- Integration with XLSX/CSV import/export for bid packages
- Offline mode (PWA) for field deployment
- Versioned cost data sets (regional, remote, and rural Alaska factors)
EstimatorLab tools are built using:
- HTML5 for structure
- Vanilla JavaScript for logic
- CSS3 / Tailwind (optional) for styling
Each estimator follows a consistent data schema:
{
"division": "08 - Mechanical",
"section": "083 - HVAC",
"items": [
{
"name": "Install rooftop unit",
"unit": "EA",
"quantity": 1,
"material_rate": 3500,
"labor_rate": 1200
}
]
}Contributions are welcome — whether it’s new estimators, data improvements, or UI tweaks.
- Fork the repo
- Create a new branch (
feature/your-estimator) - Submit a pull request with clear notes
For larger feature requests, please open an issue to discuss before starting work.
MIT License © 2025 Poor Louis Labs
Created and maintained by Alexander Collamore
Poor Louis Labs is the R&D branch of Poor Louis Farms, dedicated to engineering and software projects that combine practical craftsmanship, data transparency, and Alaskan resilience.
EstimatorLab is part of our ongoing initiative to modernize construction workflows and make field-ready digital tools open and accessible.