Inspiration
Running in Dubai's heat can be genuinely risky for much of the year. Weather apps show a temperature but not the real answer: when should I go? Early morning isn't always best, because pre-dawn humidity or low sun can make a cooler-looking hour feel worse.
What it does
- Pick a city (or use your location) and CoolRun loads the next 48 hours of hourly forecast.
- Each hour gets a personal heat-risk score from feels-like temperature, UV, humidity and wind, adjusted for run length, effort (easy/tempo/hard) and heat tolerance.
- It recommends the best window plus two genuinely different alternatives, with a risk band from Ideal to Danger and plain-English reasons.
- A 48-hour heat ribbon shows the whole picture, with details on hover.
- One tap adds a window to your calendar (.ics with a 30-minute reminder). If even the best window is risky, it suggests training indoors.
- Works without an API key; bundled demo data keeps it usable offline.
Built for recreational runners in hot, humid cities who want to keep training safely.
How I built it
- Planned first with the Devpost Learn skill pack (scope, PRD, spec, checklist), then built in small verified slices.
- Plain HTML, CSS and JavaScript modules, no framework or build step, served by a zero-dependency Node static server.
- Free Open-Meteo forecast and geocoding APIs (no key needed).
- Transparent, deterministic scoring (unit-tested with node:test) rather than an AI model, since safety guidance should be explainable.
- Demo video recorded headlessly with Playwright.
Challenges
- Turning "feels hot" into a simple, explainable score that still reflects humidity and sun.
- Time zones: forecasts are city-local, so "now" must be computed on the city's clock.
- Making alternatives useful: my first version suggested windows 15 minutes apart; they must now be at least 3 hours apart.
Accomplishments
A one-screen app that answers a real question in about a second and explains its answer.
What I learned
Planning with scope, PRD and spec before coding kept the build small and focused on the core: the best-window recommendation.
What's next
"Your window starts in 30 minutes" notifications, saved cities, a weekly training planner, shade/route data, and validating thresholds with sports-medicine guidance (e.g. WBGT).
AI-assistance disclosure
This project was planned and built with an AI coding agent following the Devpost Learn skill pack. The agent drafted the planning docs, code, README and demo video under my direction, and I reviewed and approved them. No pre-existing code was used; weather data comes from Open-Meteo (CC BY 4.0).
Built With
- css
- html
- javascript
- node.js
- open-meteo
- playwright
Log in or sign up for Devpost to join the conversation.