finds.dev← search

// the find

DariusLukasukas/nextjs-weather-app

★ 305 · TypeScript · updated Mar 2026

Apple Weather inspired web app with Mapbox and OpenWeather

A polished Apple Weather clone built on Next.js 16 and React 19, pulling data from OpenWeather and Mapbox. It's a showcase project — the kind of thing you build to learn Next.js Server Actions and API proxying, not to replace a production weather service. Looks good, works well within its scope.

The API key proxying via a Next.js route handler is done correctly — OPENWEATHER_API_KEY never reaches the client, map tiles are served server-side with proper Cache-Control headers. Server Actions fetching all five OpenWeather endpoints in parallel with Promise.all and revalidation caching is a clean pattern that avoids waterfalls. The component breakdown is sensible — one file per weather card, each self-contained. Next.js 16 + React 19 means this is tracking the actual current releases, not a year-old tutorial setup.

localStorage for saved cities means no cross-device sync and no persistence if the user clears browser storage — a non-issue for a demo, a real limitation if someone tries to use this daily. The multi-endpoint OpenWeather approach requires a paid plan (Developer tier), which the README mentions but buries; most people cloning this will hit a wall immediately on the free tier. No tests anywhere — not even a smoke test on the weather data transformation logic, which is the part most likely to break when OpenWeather changes a response shape. The Zustand store for cities is essentially a localStorage wrapper with extra steps; a simpler custom hook would do the same job with less indirection.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →