- Metric
- Model accuracy (MSE)
- Result
- 0.0465 on unseen test data
- Significance
- Consistent generalization across unseen PCM formulations
I led the research, published it in a peer-reviewed journal, and then built a desktop app around it, including GPU-accelerated training with no coding required to use it.

HeatGen is a desktop application that I designed and built to convert raw datasets into heatmaps and run deep learning-based analysis– for surfacing patterns, anomalies, and correlations automatically through a point-and-click interface. It is directly grounded in original research I led as primary author, peer-reviewed, and published in the Journal of Engineering Science and Technology in April 2023.
The project produced two parallel outputs: a published research paper validating the deep learning approach, and a functional desktop tool that makes the same pipeline accessible without a technical background.
Watch HeatGen in action as it turns raw datasets into fully rendered heatmaps
I investigated whether a deep learning model could accurately predict the surface temperature profiles of pavement bricks embedded with phase change materials (PCMs), without requiring a physical experiment each time. PCMs are being actively studied as a passive cooling solution to the Urban Heat Island effect in dense urban environments.
I selected three PCMs (lauric acid, stearic acid, and paraffin wax) and conducted outdoor physical experiments in Cheras, Selangor, Malaysia, using a thermal imaging camera to capture heatmaps of each brick sample. From this, I built a dataset associating 11 physical variables with their resulting thermal heatmaps, and applied a 90/10 train-test split for evaluation.
The core ML challenge I faced was mapping a 1D vector of physical variables into a 2D heatmap image. I designed the architecture around two fully connected layers followed by a reshape layer which converts the 1D representation into a 2D spatial grid. Three convolutional layers then progressively refine the output, with the final layer using no activation function to allow unconstrained pixel-level values. I removed batch normalization and dropout after testing showed they did not improve performance for this domain, and used stochastic gradient descent with a learning rate of 0.009 and momentum of 0.9.
The model achieved a mean squared error of 0.0465 on unseen test data, confirming its ability to generalize across different PCM formulations and temperature profiles.
During the research, I noticed a practical gap. The lead researcher was an academic domain expert– his focus was on science, not the software, which made sense. The side effect was that once the model worked, there was no way to actually use it outside of a lab. More broadly, anyone working with thermal or high-dimensional datasets faced the same wall:
No way to generate 2D color-coded heatmaps directly from raw data without writing custom code.
No accessible environment available to run deep learning analysis pipelines efficiently.
No unified tool that combines training, testing, visualization, and results in one place.
I built HeatGen to close that gap– for this research, and for anyone who might need the same capability without the technical overhead.
For the backend, I chose Python because it’s the standard language for the data science and machine learning ecosystem, and I knew this would let future researchers build on my work.
Training the model on CPU took approximately 4 hours per run– far too slow for iterative experimentation. So I integrated CUDA with an NVIDIA GPU, which reduced training time to around 15 minutes. This single change made proper hyperparameter tuning and iteration actually feasible for my use case.
I preprocessed the image dataset by resizing the thermal heatmap images to a consistent dimension (160×120 pixels) to match the model’s input requirements, and normalized all variable values between 0 and 1. I then applied a 90/10 train-test split to evaluate the model’s generalization on unseen data.
Rather than hardcoding a single model into the application, I built a dedicated training and testing module within HeatGen. This means the app is not locked to one version of the model– as more experimental data is collected, the model can be retrained and fine-tuned directly within the tool, without rebuilding the application.
built the frontend using PyQt5 to give HeatGen a proper desktop UI– this supported file uploads, model selection, heatmap visualisation, and results output, all accessible through a point-and-click interface with no command line knowledge required.
Model training can run for several minutes, so I added multithreading to handle it in the background. This way, the interface stays usable even while a job is running rather than locking up until it finishes, and the application remains responsive throughout.
HeatGen is a fully functional desktop application with the following core capabilities:
| Metric | Result | Significance |
|---|---|---|
| Model accuracy (MSE) | 0.0465 on unseen test data | Consistent generalization across unseen PCM formulations |
| Model overfitting | None observed | Validation curve stable through 300 epochs |
| Input variables | 11 physical variables | Temperature, humidity, wind speed, PCM composition and presence |
| Publication | Peer-reviewed | JESTEC Vol. 18, Issue 2, April 2023 |
| Dataset novelty | First of its kind | First published dataset and DL model for PCM heatmap prediction |
My model demonstrated consistent generalization across multiple PCM formulations and temperature profiles. The research was peer-reviewed and accepted for publication, and to my knowledge, the first time a dataset and deep learning model of this kind had been developed specifically for predicting heatmaps from PCM-related physical variables.
From research to production-ready desktop apps, I take projects the full distance.
Questions? Comments? Feel free to send a message!