Theme: Architecture & Urban Innovation. HeatHours redesigns the timetable of a city's public rooms as climate infrastructure. The rooms already exist; the hours don't. In one line: schedule heat shelters like the weather, not like an office. It also connects to Social Impact (older adults living alone) and to public budgeting.

Inspiration

I'm a university student in Changwon, South Korea. On 3 August 2026, my city announced that 59 of its 941 indoor heat shelters (6.3%) would stay open until 10 pm on weekdays and 10:00–22:00 at weekends. By then Korea's highest heat alert had been in force for five straight days. That year, 7 of the city's 25 heat-illness patients fell ill at home.

I wanted to know how much dangerous heat had already passed by the time those doors opened. So I downloaded every hourly reading from the Korea Meteorological Administration (KMA) for summer 2026 and lined it up against shelter opening hours.

Answer: 52 of Changwon's 72 after-hours danger hours had passed before 3 August. The late extension could cover at most the remaining 20, and only at 6.3% of sites.

The problem

  • Korea has about 93,000 heat shelters. Most are senior centres and community offices that open on weekdays, 9 am–6 pm.
  • Heat doesn't keep that timetable. Across Changwon, Seoul and Daegu, summer 2026 had 446 hours with a feels-like temperature of 33 °C (91 °F) or more, the level KMA uses for heat advisories. 199 of those hours (44.6%) fell outside weekday office hours. Almost all were on weekends or on weekday evenings between 18:00 and 22:00. Public holidays are counted as weekdays here, so 44.6% is a lower bound. A "danger hour" applies the advisory's 33 °C level to a single hour.
  • Most doors are shut at those times. In Seoul, only 21.5% of shelters were open on Sunday 2 Aug 2026, and in 2025 only 9.6% opened after 6 pm on weekdays. In Daegu, 80.3% close around 6 pm. In Seoul, 71.3% of shelters are senior centres open to members only.
  • This isn't only a Korean problem. In Maricopa County, Arizona, only 20 of 53 cooling centres opened on Saturdays and 11 on Sundays (Berisha et al., Weather, Climate, and Society, 2017).
  • Who gets hurt: older adults with no air conditioning, or who can't afford to run it, and people in poorly insulated rooms. (Outdoor workers, who make up much of the other 72% of cases, are out of scope here.)

Why existing approaches fail

  1. Longer hours are decided by hand, days late. Changwon's mayor said he hoped rooms open "at night and at weekends" would be "a cool resting place" (Gyeongnam Shinmun, 2026-08-03, my translation). The will is there, but the rule isn't. The heat was predictable: a simulation of KMA's own advisory rule (33 °C feels-like on 2+ consecutive days) flags 31 of Changwon's 32 hot days. The doors still waited for a decision.
  2. Extended hours have no budget shape. A Gyeonggi official said they "asked shelter managers many times to open evenings, weekends and holidays, but few agreed" and that "real budget support must come first" (Yonhap, 2026-08-16, my translation). Only 13% of Gyeonggi's 9,203 shelters extend their hours. Opening all summer would need about 794 extra hours per shelter, so nobody funds it.
  3. Shelters are counted, not measured. A city reports "941 shelters" but not how many older residents have an open room within reach when it's hot. Meanwhile, 59.1% of vulnerable residents have never used a shelter, and the top reason is "I didn't know about it" (33.0%).

What it does

HeatHours ties opening hours to yesterday's thermometer and pays only for the hours the heat demands. It works in four steps.

  1. TRIGGER: If yesterday's maximum feels-like temperature at the district's KMA station reached 32 °C (1 °C below the danger level, as a margin), contracted hosts open today until 22:00 on weekdays and from 09:00 to 22:00 at weekends. The rule needs no forecast and no meeting. Anyone can check it, and it's signed in May. The 32 °C threshold was chosen on 2025 data and tested on eight other summers (see Evidence 1). A city may also open on a KMA heat advisory, whichever comes first; the numbers below use the 32 °C rule alone.
  2. PAY ONLY FOR HEAT: Hosts get a fixed per-hour rate, but only for triggered hours. This is index-triggered (parametric) pay, borrowed from the Red Cross practice of forecast-based financing, which releases money when an index crosses a line. Here it is scaled down to one neighbourhood room. Senior centres can be staffed through Korea's existing senior-jobs programme, which already employs older residents as "senior-centre helpers". So the people most at risk are paid to keep the door open for their neighbours.
  3. FIND & REACH: On trigger days the district sends a safety text (Korean cities already send heat texts) with one line: "Open near you until 22:00: [district list]". Every host's door gets one sign: OPEN FOR HEAT · ANYONE WELCOME. Bus stops and senior-centre noticeboards get a printed neighbourhood heat timetable, laid out like a bus timetable. In Yongji-dong, for example, it lists the community centre, Changwon Central Library (0.5 km) and Sinwol No.1 Senior Centre (1.0 km), all taken from the 212-host network. Korea's 37,000 elderly-care workers already phone or visit high-risk clients daily during heat alerts. On HeatHours days, that call names the nearest open room and suggests going before the midday peak. For people who can't go out, it stays a check-in at home.
    • At home: for people on the care list who can't leave home, the same trigger adds a per-day top-up to Korea's existing summer energy voucher (₩40,700 per one-person household in 2026). That's about ₩1,700 per trigger day: 1 kW of cooling for 8 hours at the ₩214.6/kWh middle residential summer tier, or roughly ₩77,000 a person over Changwon's 45 trigger days in 2026. The same index pays for either a room or a home.
  4. MEASURE: Cities stop counting shelters and report Heat-Hour Coverage: the share of after-hours danger hours × older residents during which an open, public, cooled room is within 800 m.

Evidence 1: the timetable, tested out of sample (KMA hourly data)

I fixed the selection rule before looking at 2026: pick the highest threshold that covers at least 95% of 2025's after-hours danger hours. On 2025 data that threshold is 32 °C (97.0% covered; 33 °C gives only 83.2%). I then applied it unchanged to 2026:

City (2026) Danger hours (feels-like ≥33 °C) Outside weekday 9–6 Covered by the 32 °C rule Extra hours per shelter: all summer → HeatHours
Changwon 181 72 (39.8%) 71 / 72 794 → 315
Seoul 103 60 (58.3%) 52 / 60 794 → 167
Daegu 162 67 (41.4%) 67 / 67 794 → 285
Total 446 199 (44.6%) 190 (95.5%) 2,382 → 767 (32%)

By city, the rule covers 98.6% of the after-hours danger in Changwon, 100% in Daegu, and 86.7% in Seoul. All 8 hours Seoul misses fall after 22:00 on tropical nights. In Changwon, the rule would first have opened doors on 11 July, the day after 10 July reached 32.6 °C. The city's actual extension began on 3 August.

Eight test summers (2018–2024 and 2026; 2025 was used only to choose 32 °C), 3 cities, 944 after-hours danger hours: | Rule | Covered | Extra hours used (vs. every evening & weekend all summer) | |---|---|---| | Every evening & weekend, Jun–Sep | 98.1% | 100% | | HeatHours: yesterday ≥32 °C | 94.3% (worst year 88.9%, 2022) | 24% | | Fixed calendar: evenings & weekends, 15 Jul–31 Aug | 87.7% | 39% | | Simulated advisory (≥33 °C on 2+ days, hindsight, needs a forecast) | 94.7% | 15% | | 32 °C rule OR advisory (contract option) | 96.1% | 25% |

A fixed calendar costs more and covers less. An advisory issued on time is cheaper still, but it depends on a forecast and a decision. The 32 °C rule is the fallback that can't miss a deadline, and combining the two covers 96.1%. At 33 °C instead of 32 °C, the day-late rule covers only 83%, which is why the 1 °C margin matters. The totals row is a per-shelter sum over the 3 cities.

Evidence 2: distance and people (Changwon)

I geocoded the city's senior centres (1,028 of 1,042), its 55 community service centres and 18 public libraries, and weighted the results by each neighbourhood's population aged 65+ (resident registration, August 2026: Changwon has 985,013 residents, 214,985 of them aged 65+). The 941 shelters are the city's designated rooms of every type. The 1,042 senior centres are all registered centres, many of which double as shelters; here they stand in for where older residents gather.

  • Public rooms only: 608 of 1,028 senior centres are within 800 m in a straight line. That covers about 157,000 of 215,000 residents aged 65+.
  • HeatHours network: adding 139 senior centres as open-to-all hosts gives 212 hosts. That puts 95% of senior centres within 800 m, which is about 208,000 older residents (97%) by estimate. If only half of the 139 agree, coverage is 78–86% of senior centres (about 85–92% of older residents), depending on which half. At a stricter 500 m, the network needs 320 hosts.
  • Heat-Hour Coverage, Changwon 2026 (after hours): I estimate today's level at ≤23%. That assumes the 59 extended sites were placed as well as possible and opened from 3 August. It gives no credit to libraries' own weekend hours. This is 20 of 72 hours × at most 81% reach, where 81% is the best any 59 sites could reach, chosen greedily. With HeatHours it would be about 95%. Even with the same 59 sites, the HeatHours timing alone would raise it to about 80%.
  • Will people come? In a 2026 survey of vulnerable residents, 46.6% said they would use shelters if hours were extended to nights and weekends. 83.8% of shelter users walk there, and 56.9% live less than 10 minutes away (Kukmin Ilbo, 2026-08-02). That is why the network is designed by walking distance.
  • Cost (Changwon, 2026 triggers): one person on weekday evenings and two at weekends comes to 510 person-hours per host.
    • Senior-centre hosts are paid at the 2026 minimum wage (₩10,320/h). Public staff overtime is priced at ₩15,480–25,000/h.
    • Electricity assumes 2 kW of cooling at the KEPCO summer general rate of ₩132.4/kWh.
    • A standby fee of ₩300,000 per host per summer (an assumption) pays hosts to stay ready, which answers the Gyeonggi problem of unpaid hosts saying no. It adds ₩0.06B.
    • Total ≈ ₩1.39–1.74B per summer (about US$1.0–1.3M at ₩1,380/$), or ≈₩6,700–8,400 per older resident covered. The range comes from public overtime priced at ₩15,480–25,000 an hour.
    • The same rooms with the same staffing all summer would cost ₩3.21–4.07B, so HeatHours is about 43% of that. Admin is not costed.
  • Who pays: existing heat budgets. Seoul spent ₩35.9B on heat in 2025, about 70% of it from its disaster-management fund, including shelter operation. In August 2026 the national government sent ₩30B of special grants to expand shelters (News1 via Financial News).

What's new

HeatHours brings three things together. Cooling centres and heat alerts already exist. New York, for example, opens cooling centres when a heat advisory takes effect (NY1, 2026-06-10). What Korea is missing is:

  • (a) a pre-signed contract that pays per triggered hour, which gives extended hours a budget a city can approve and lets it hire older residents as hosts;
  • (b) a trigger rule that needs no forecast, chosen on one summer and tested on eight others. The same trigger also pays for cooling at home when a room is out of reach. Because the trigger is a public, checkable index, a city could even insure its HeatHours budget with a parametric heat policy, the way SEWA's women workers in India are paid out automatically when heat crosses a threshold;
  • (c) a network designed for walking distance and measured in Heat-Hour Coverage, computed here for a real city.

Implementation: one city, one summer

  • Users: older adults living alone and people without affordable cooling. Operators: the city disaster-safety office, the hosts and the care workers.
  • Staffing: community centres and libraries pay their staff overtime. Senior centres use helpers from Korea's national senior-jobs programme (paid part-time work for people over 65). Shifts are indoors in air-conditioned rooms, last no more than 4 hours, and have two people per room at weekends.
  • Process:
    • May: choose hosts with the coverage method and sign contracts (trigger, hours, rate, open-to-all rule).
    • June: one test trigger with signs, the text line, the call script and a host check-in.
    • July–August: hours switch on automatically on trigger days; hosts log hours and visits.
    • September: publish Heat-Hour Coverage, hours, visits and cost.
  • Risks and answers:
    • Members-only centres: hosts are paid only if the door shows OPEN FOR HEAT · ANYONE WELCOME.
    • Host liability: a clause in the designation agreement; the national scheme already includes privately run shelters.
    • Nights after 22:00: pair with overnight shelters where they exist. Where none exist, an evening care-worker call on tropical-night trigger days.
    • People who can't go out: the care-worker call, plus the energy-voucher top-up on trigger days.
    • Nobody comes: demand is the pilot's main unknown, so visits per triggered hour are logged from day one.
  • Pilot success: Heat-Hour Coverage ≥90% in the pilot district, hosts open from the first trigger day, and spending within contracted hours. Also at least 1 visit per triggered host-hour on average, an assumption to test, because no visit baseline exists; a room that stays below it is replaced, and the rule's hours are kept. Also tracked: how many care-list clients the trigger-day calls reach, and visits by non-members at senior centres. With only 25 cases a year, heat-illness counts can't measure one summer, so a comparison of 119 calls needs several summers.

How I built it

  • Weather: KMA ASOS hourly API for Changwon (155), Seoul (108) and Daegu (143), 1 Jun–30 Sep 2018–2026: 79,056 rows, 1 missing. 2025 was used to choose the threshold, and the other years to test it. Feels-like (Korea's heat index) uses KMA's official summer formula (in use since June 2022) with Stull's wet-bulb estimate. Every 2026 danger hour fell between 10 July (Daegu; Changwon from 11 July) and 30 August.
  • Places and people: senior-centre, community-centre, library and age-by-neighbourhood population tables from data.go.kr, geocoded with Statistics Korea's SGIS API. 1,101 of 1,115 addresses matched (98.7%); the 14 misses were left out.
  • Analysis: about 300 lines of Python covering the timetable backtest, the calibration and nine-summer comparison, greedy host selection and the coverage measure. Unit tests check the formula against Stull's published example (20 °C and 50% humidity give a 13.7 °C wet bulb), the host selection and one backtest figure.
  • Shelter facts: official figures quoted in Korean news, plus one peer-reviewed US study. Links are below.
  • AI tools: I used an AI assistant for drafting and code, which Rule 4 allows. Every number traces to a link below or can be reproduced from public data.

Challenges

  • No per-shelter hours. Opening hours for each of Changwon's 941 shelters aren't open data I could reach. So "today" uses the city's own statement and a best-case upper bound, and the advisory comparison is a simulation.
  • Distance is approximate. 800 m in a straight line is optimistic for older walkers; walking routes are longer, and many older adults walk slowly. That's why I also report 500 m.
  • Self-imposed calibration. I chose the rule on 2025 before scoring the other years, but nobody else can verify that until the code is public.
  • No interviews yet. I haven't spoken with older residents, hosts or officials; the official voices quoted here come from news reports. A pilot starts with host and resident interviews in May.
  • One station per city. I used a single weather station per city. The trigger and the danger hours come from that same station, and senior centres are a proxy for where older residents live.
  • No health outcome yet. A single summer is too small for that, so the 119-call and emergency-room comparison between pilot and non-pilot districts is a multi-year goal.

Accomplishments that I'm proud of

  • I turned "shelters close too early" into measured numbers: 44.6% of danger hours fall outside office hours, and 52 of 72 after-hours danger hours had passed before Changwon's doors stayed open.
  • I built a trigger rule that held up out of sample. Chosen on 2025 data, it covered 94.3% over eight test summers with about a quarter of the hours. In 2026, which I lived through, it covered 95.5%, so treat that year as illustrative.
  • I put one number on the whole design: after-hours Heat-Hour Coverage in Changwon goes from at most 23% to about 95%.

What I learned

  • Counting buildings hides the failure; counting hours and metres shows it.
  • The blocker was the shape of the budget, not willingness. A city can't fund "all summer", but it can fund "only after a hot day".
  • Choosing a rule on one year and testing it on the next is what made my own numbers trustworthy.

What's next

  • Test against KMA's real advisory archive, which needs an API registration I haven't completed yet, and against more cities.
  • Replace straight-line distance with walking-network distance, and use real per-shelter hours once they are published.
  • Turn the May contract (trigger, hours, rate, sign, text line, call script) into a one-page template a district could adopt for summer 2027.

Sources

Built With

  • data-analysis
  • data-visualization
  • kma-open-api
  • public-policy
  • python
  • service-design
  • sgis-geocoding
  • urban-planning
Share this project:

Updates

Submission history