Sustainability · Urban planning · 2026
Althil
Urban thermal comfort decision support
Suggests where urban planners should add shade, from the sun’s path, the heat at a site and a photo of it.
- Role
- Backend developer & cloud architecture contributor
- Status
- Hackathon prototype
- Year
- 2026
- Code
- github.com/Abdulel3h/Althil
In brief
01The problem
Street heat shifts with the sun’s path, and static plans rarely account for it.
02What was built
One FastAPI app computes sun position and a 0–100 heat-risk score, recommends a shade type and exports a report, in a container ready for Cloud Run.
03My role
I built the backend and merged the analysis services into one deployable app, as part of a hackathon team.
04Outcome
A hackathon prototype with public code. Urban density is simulated, and no measured cooling effect is claimed.
How it works
01Input
Map location
02Processing
Sun position & heat score
03Intelligence
Site-photo analysis
04Output
Shade recommendations & report
Decisions that shaped it
One container, built for Cloud Run
The map, the API and the reports are served by a single stateless FastAPI app packaged for Cloud Run, so the team could deploy the whole system as one unit inside the hackathon. BigQuery, Cloud Storage and Vertex AI stayed in the design, not the code.
Compute what can be computed, label the rest
The sun’s position is computed exactly with pysolar. Urban density, candidate placements and cooling estimates are simulated or estimated, and the README, the report and the PDF say so.
Shade type from sun geometry
A high sun calls for horizontal cover and a low sun for vertical screening, so the recommendation is a kind of shade, not only a score.
The honest part
Not claimed
No city deployment, no measured temperature reduction and no BigQuery, Cloud Storage or Vertex AI integration are claimed.
Limits today
- Urban density is simulated from the coordinates, and candidate placements and cooling figures are estimates.
- Sun position always uses the current time; there is no date picker and no night-time handling.
- Image analysis uses colour thresholds, not a trained model, and the assistant panel gives scripted replies.
- Recommendations have not been validated with planners or with field temperature data.
If it continued
- Replace simulated density with land-cover data
- Let planners choose the date and time and compare sun paths
- Implement the designed BigQuery, Cloud Storage and Vertex AI components
- Validate recommendations against measured street temperatures
What you can verify
Built with a team during the Intelligent Planet Hackathon (KFUPM × Google Cloud). A hackathon prototype with public code — not used by a city.
- Public repository on GitHubFastAPI backend, analysis services, the Cloud Run Dockerfile and tests, with a plain account of which inputs are simulated.(opens in a new tab)
- Screenshots in the READMECaptured from the running app; the README notes that the server clock was pinned to midday so the sun is up.(opens in a new tab)
- Intelligent Planet Hackathon — program recordListed under Recognition: KFUPM × Google Cloud, 2026.
Stack
Python · FastAPI · OpenCV · pysolar · Docker · Google Cloud Run
Cloud Run packaging is in the repository. The hackathon design also called for BigQuery, Cloud Storage and Vertex AI; those integrations are not implemented in the code.
“This project strengthened my experience in cloud-native design, data-driven decisions and cross-functional collaboration under real constraints.”
The full recordContext, constraints and engineering notes, as written.
Context
Team project built during the Intelligent Planet Hackathon, hosted by KFUPM in collaboration with Google Cloud.
The problem
Urban planners need to know where shade canopies will actually improve comfort. Heat exposure shifts with the sun’s path across the day and the year, which static plans rarely account for.
What was built
A map-based planning tool served by one FastAPI application. Selecting a point returns the sun’s altitude and azimuth, a 0–100 heat-risk score, a shade type chosen from the sun angle with candidate placements, and a report the planner can download as a PDF. A site photo adds an estimate of vegetation versus hard surface.
Outcome
A runnable hackathon prototype with public code: one FastAPI app that computes sun position and a heat-risk score for any map point, recommends a shade type with candidate placements, analyses site photos and exports a PDF report, packaged as a container for Cloud Run. Service and API tests were added when the code was published. No city deployment and no measured cooling effect are claimed.
Constraints
- Hackathon time limit
- A team build — Abdulelah’s part was the backend, the cloud architecture and the service integration
- No land-cover data, so urban density is simulated
- One container, deployable to Cloud Run
Responsibilities
- Built the FastAPI backend and its analysis endpoints
- Integrated the sun-position, heat-scoring, image-analysis and report services into one deployable application
- Packaged the application as one stateless container for Google Cloud Run
- Supported the Google Cloud architecture direction of the design
Engineering notes
- pysolar computes the sun’s altitude and azimuth for the selected point at the current time
- A rule weights sun altitude and an urban-density factor into a 0–100 heat score with Low, Moderate and High levels
- The sun angle selects the shade type — horizontal canopy, angled shade sail or vertical green wall — and three candidate points are placed around the selection
- OpenCV colour thresholds estimate vegetation and grey-surface coverage in a site photo
- One FastAPI app serves the map, the API and a PDF report, packaged as a container for Cloud Run