Inspiration
Energy powers our homes, hospitals, and universities. We wanted to explore how small improvements in individual homes could add up to meaningful energy savings.
We started with a familiar question: why does one room stay colder than the others? A homeowner might notice the discomfort or a rising heating bill, but choosing between sealing drafts and improving insulation requires more evidence.
HeatHunter is our attempt at a check-engine light for a home: investigate which room is losing unusual amounts of heat, what might be causing it, and what to fix first.
What it does
HeatHunter analyzes room-temperature sensor readings alongside outdoor temperature and wind. It examines how rooms cool while the heating is off and compares three explanations: normal behavior, a draft, and excessive heat loss through the building fabric.
Users can explore rooms in an interactive 3D house, inspect the evidence, view estimated energy and financial impact, and monitor readings after reporting a repair.
Our prototype includes:
- Real Home: actual recorded sensor measurements, weather, and documented characteristics from SMETER house HH09 in England.
- Fault Lab: an approximate HH09-inspired digital twin with synthetic hidden faults and virtual sensor readings.
- Your Home: a workflow for defining a layout and uploading recorded sensor data. Direct live-device integration is future work.
- An AI assistant: explains the current screen and project results in accessible language. The physics engine performs the diagnosis.
How we built it
We separated the project into four connected workstreams: data engineering, public physics modeling, hidden-fault simulation and diagnosis, and API/UI integration.
The data pipeline processes HH09’s measurements, floor plan, building characteristics, and matching regional weather. It preserves sources, units, timestamps, and the distinction between measured information and modeling assumptions.
Our simulator models room air and thermal mass, heat escaping outside, and heat transfer between rooms. It calculates temperature changes in small time steps. Virtual sensors sample every five minutes, adding noise, offsets, rounding, and occasional missing readings.
We inject faults by changing physical parameters. Drafts increase leakage; insulation-related faults increase envelope conductance.
A separate public physics model fits competing explanations to the collected observations. The diagnostic workflow evaluates those fits across successive nights. It cannot read the planted fault or the simulator’s private parameters.
In Fault Lab, a repair changes the corresponding physical property and generates new observations. We then recheck the house and reveal the original hidden answer.
The backend uses Python, FastAPI, Pydantic, NumPy, and SciPy. The frontend uses React, TypeScript, Vite, Tailwind CSS, Three.js, and React Three Fiber.
We used OpenAI Codex for AI-assisted implementation, debugging, and testing.
Challenges we ran into
The hardest challenge was distinguishing causes that produce similar temperature curves. A room can cool quickly because of a draft, conductive heat loss, or differences in thermal mass. More observations do not automatically guarantee the right explanation.
We also had to preserve the boundary between real measurements and simulated observations. Our twin uses documented house information, but unavailable thermal properties remain explicit assumptions.
Integration required consistent data contracts across the simulator, fitting engine, backend, and frontend. We also worked to make the interface understandable without requiring users to know thermal physics.
Accomplishments that we're proud of
We completed a controlled workflow from hidden fault to generated sensor readings, diagnosis, simulated repair, remeasurement, and truth reveal.
We evaluated 60 held-out simulated homes over 14 nights each: 20 healthy, 20 with drafts, and 20 with envelope-conduction faults.
After 14 nights:
- All 60 runs completed without runtime errors.
- The correct faulty room was flagged in 34 of 40 faulty homes.
- The correct room and cause were identified in 29 of 40 faulty homes: 72.5%.
- Insulation-related faults were correctly identified in 20 of 20 cases.
- Drafts were correctly identified in 9 of 20 cases; six were missed and five were misclassified.
- No healthy home remained falsely flagged, although one experienced a temporary alarm.
These are synthetic evaluation results, not measured diagnostic accuracy on real occupied homes. HH09 has no verified room-level fault labels.
What we learned
We learned that simulation, diagnosis, and evaluation need clear boundaries. Keeping hidden answers away from the diagnostic engine made the experiment meaningful.
We also learned the value of testing failures. Draft misclassifications exposed limitations that a successful selected demo alone would have missed.
Across the team, the project brought together building physics, numerical modeling, data provenance, API integration, interactive 3D graphics, and accessible explanations.
What's next for HeatHunter
We want to grow HeatHunter into an affordable energy-diagnostics platform for homeowners, landlords, and housing providers. Our next step is to run real-home pilots, connect compatible temperature sensors, and validate our findings with energy auditors. Those pilots will help us measure actual energy savings and refine our repair recommendations. From there, we aim to offer ongoing monitoring and partner with property managers and retrofit providers—helping households identify problems earlier, prioritize repairs, and track whether those repairs worked.
Log in or sign up for Devpost to join the conversation.