Adaptive heat-safety scheduling for outdoor crews.
ThermoShield turns weather, work intensity, and worker acclimatization into one clear hourly decision: work, rest in shade, drink now, or stop. It is built as a deterministic Python engine with a FastAPI backend and a Vite + React supervisor dashboard.
- Computes outdoor WBGT from weather or an on-site meter reading.
- Applies standards-based work-rest and hydration logic.
- Compares fixed calendar bans against condition-based scheduling.
- Tracks acclimatization for new arrivals.
- Produces a tamper-evident worker-protection record.
- Estimates season impact, business case, and policy gaps.
| Area | What ships in the repo |
|---|---|
| Heat-stress engine | WBGT estimation, work-rest scheduling, hydration targets, and acclimatization handling |
| API | FastAPI endpoints for sites, timelines, hourly decisions, economics, compliance exports, and policy queries |
| Dashboard | React interface for supervisors to inspect live signals, compare calendar rules, and run what-if checks |
| Documentation | Static product docs, data notes, ROI methodology, and dashboard walkthrough |
| Validation | Unit tests for scheduling, WBGT calculations, compliance logs, economics, policy retrieval, and API behavior |
weather / meter reading
|
v
WBGT + work context + worker profile
|
v
deterministic scheduler
|
+--> supervisor dashboard
+--> compliance log
+--> impact and ROI panels
+--> policy-gap answers
Key parts:
src/thermoshield/- Python engine, API, scheduling, economics, policy retrieval.web/- React dashboard.website/- static documentation site.landing/- standalone landing page.data/- cached weather, policy snippets, economics assumptions, model metadata.tests/- unit and API tests.
Use Python 3.11 for the smoothest setup with the pinned scientific stack.
pip install -r requirements.txt
pip install -e .[dev,ml]Fetch or refresh the local datasets:
thermoshield fetch-datasets
thermoshield fetch-demoRun the API:
uvicorn thermoshield.api:app --reloadRun the dashboard:
cd web
npm install
npm run devThe dashboard reads VITE_API_BASE, defaulting to http://localhost:8000.
thermoshield sites
thermoshield demo dubai
thermoshield roi dubai
thermoshield backtest
pytest -q
cd web && npm run build- Handbook - product, science, API, and operating model.
- Data - datasets, cached archives, and source caveats.
- ROI and claims - assumptions, formulas, and confidence labels.
- Dashboard walkthrough - UI guide for the supervisor dashboard.
ThermoShield is a planning and audit aid, not certified safety equipment. Operational use requires site-specific validation, certified instrumentation, and review against authoritative occupational-safety standards and local regulations.