Building a weather app in a weekend
This is an example of a project write-up, with a screenshot, code, a table, and a footnote.
The idea
I wanted a weather app that shows one number when I open it, with no ads and no ten-day forecast I’ll never read.
How it works
The app calls a free weather API1 and renders the result:
async function getWeather(lat, lon) {
const url = `https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t=temperature_2m`;
const res = await fetch(url);
const data = await res.json();
return data.current.temperature_2m;
}
Inline code looks like this: getWeather(42.36, -71.06).
What I used
| Part | Tool | Why |
|---|---|---|
| Frontend | Plain HTML + JS | No build step needed |
| Data | Open-Meteo | Free, no API key |
| Hosting | GitHub Pages | Same place as this blog |
What I’d do differently
- Cache the last result so the app works offline
Add a 10-day forecastNope, that defeats the point- Support °C / °F switching
-
Open-Meteo is free for non-commercial use. ↩