GymCoach
근력 트레이닝 기록 및 개인 AI 코치
약품과 우편번호를 입력하면, 더운 날 위험한 약과 약사에게 물어볼 내용이 적힌 한 페이지를 출력합니다
Type in your medicines and ZIP code. Get one printable page that says which of your medicines make hot days more dangerous and what to ask your pharmacist.
건강JavaScript · HTMLGitHub @usv240온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Checks your medicines against CDC heat guidance and your local NWS heat forecast, then prints a plan for your pharmacist.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Check your medicines against CDC heat guidance and your local heat forecast, then print a one-page plan to take to your pharmacist.
Live site: https://usv240.github.io/heat-meds/ (press "Try an example", no account needed) Demo video: https://youtu.be/7ZnGjnIXZVg
Some everyday medicines, like water pills, some blood pressure pills, and some antidepressants, change how the body handles heat. They can dull thirst, change sweating, or lower blood pressure, so a hot day hits harder. Older adults take these medicines most, and most are never told.
In September 2025 the CDC asked clinicians to plan for this with their patients [1]. That guidance is a table written for doctors. Patients and families had no tool to start the conversation themselves.
It is common, not rare: 6 of the 10 most-prescribed medicines in the US are on the CDC's heat list (this project's analysis of the 2024 Medical Expenditure Panel Survey [6]).
Older adults and the people who look after them, at the kitchen table with the pill bottles out, or at the pharmacy counter.
It also replays a real past heat wave (Phoenix, August 3 to 9, 2025) so you can see your plan on a bad day in any season, and it says plainly when a ZIP is outside the forecast area. It works on phones and desktops, in light and dark mode, and prints on one page.
The 300 most-prescribed US medicines [6] were run through the same code the site uses (run of September 30, 2026):
| Check | Result |
|---|---|
| Warnings without an exact CDC quote | 0 |
| Plans that tell anyone to stop or change a medicine | 0 |
| Agreement with UK Health Security Agency guidance [3] | 75.0% (225 of 300) |
| Agreement with Health Canada guidance [4] | 82.3% (247 of 300) |
Every one of the 128 disagreements is listed with a reason on the Evidence page, along with the 18 medicines this site flags that neither the UK nor Canada lists. The numbers on that page are read straight from data/evidence.json; nothing is typed by hand.
This measures agreement with national guidance, not clinical outcomes.
flowchart LR
U["You: medicines and ZIP"] --> P["Heat Meds page<br/>(runs in your browser)"]
P -->|"medicine names"| RX["NLM RxNorm and RxClass<br/>name, ingredients, drug class"]
P -->|"ZIP to location<br/>(bundled Census file)"| HR["NWS HeatRisk<br/>7-day heat forecast"]
RX --> R["Rules engine<br/>CDC heat rules, each with a quote"]
HR --> R
R --> PLAN["Your one-page plan"]
data/cdc-rules.json) were copied line by line from the CDC page [1], each with its exact quote, link, and the date it was checked. A rule without a quote cannot load.Any web page can use the same check:
<script type="module">
import { checkMedicines } from 'https://usv240.github.io/heat-meds/src/api.js';
const result = await checkMedicines(['furosemide 40 mg', 'lisinopril'], { zip: '85004' });
console.log(result.text, result.plan.cards, result.unresolved);
</script>
There is no API key on purpose: a key would need a server that sees people's medicine lists, which this project promises not to do.
No install and no build step. Any static web server works:
python -m http.server 8000
Then open http://localhost:8000/. (Pages use JavaScript modules, so open them through a server, not by double-clicking the file.)
Requires Node 20 or newer. No packages need installing:
node --test
This runs 79 tests: the rules engine, name lookup, the forecast modes, the paste parser, the evidence file, and site copy rules. Two of them open the site in headless Chrome or Edge (one-page print, and page width at phone and desktop sizes); they are skipped if neither browser is installed.
Optional live checks against the real services:
node scripts/smoke-heatrisk.mjs # HeatRisk forecast for downtown Phoenix
node scripts/probe-names.mjs # RxNorm and RxClass on tricky names
node scripts/example-plan.mjs # the Phoenix example plan as text
node scripts/check-print.mjs # prints the example and counts pages
node scripts/check-pages.mjs 375,1280 # page width and layout checks
| File | Script | Source |
|---|---|---|
data/zip/*.json | node scripts/build-zip-index.mjs | U.S. Census Bureau ZCTA Gazetteer [7] |
data/saved-heatwave.json | npm install then node scripts/sample-heatwave.mjs | NWS HeatRisk daily archive [2] |
data/top300.json | node scripts/derive-top300.mjs path/to/h254a.dat | AHRQ MEPS 2024 Prescribed Medicines [6] |
data/evidence.json | node scripts/run-evidence.mjs | Live RxNorm and RxClass, the rules, and the answer keys |
data/cdc-rules.json and the answer keys in data/answer-keys/ are curated by hand. The answer keys were committed before the first evidence run, so the agreement numbers could not be tuned afterwards.
Built plan-first with the Devpost Learn Skill Pack in a coding agent (Claude Code). The planning documents are in devpost/:
scope.md: the idea, the person it is for, and what was cutprd.md: every screen and behavior, with acceptance criteriaspec.md: the technical plan, data sources, and failure modeschecklist.md: the build in seven tested steps, plus every change the build forcedusability-review.md: a review against published usability standards (AHRQ PEMAT [8], WCAG 2.2 [9])app-map.html: a short guide to the codeNo live user testing was possible, so the printed plan was scored with AHRQ's PEMAT checklist for patient handouts [8]: 100% understandable and 100% actionable after adding the summary, next steps, and tick boxes it called for. An automated WCAG 2.2 AA check (axe-core) finds 0 issues on every page, at phone and desktop width, in light and dark mode [9]. The typeface, Atkinson Hyperlegible Next, was designed for readers with low vision.
index.html, plan.html, evidence.html, developers.html the pages
src/ JavaScript modules; rules.js is shared by the site and the tests
data/ CDC rules, answer keys, ZIP data, saved heat wave, evidence run
assets/ styles, print layout, font, images
scripts/ data builders and live checks
test/ automated tests
devpost/ planning documents from the Devpost Learn Skill Pack
France's ANSM heat and medicines list is shown on the Evidence page for context only.
This product uses publicly available data from the U.S. National Library of Medicine (NLM), National Institutes of Health, Department of Health and Human Services; NLM is not responsible for the product and does not endorse or recommend this or any other product.
skills-lock.json). Commits made with the assistant carry a co-author line.geotiff (MIT, used only by a one-time data script). Public data from the CDC, NWS, NLM, U.S. Census Bureau, AHRQ, UK Health Security Agency, and Health Canada, as listed above.MIT. See LICENSE. The font is under the SIL Open Font License 1.1, see assets/fonts/OFL.txt.