Build a weather dashboard with a free no-key API
A complete working dashboard in one HTML file, using no key, no build step and no backend — then the three changes that make it production-ready.
7 min read
Building things: keeping keys out of your bundle, caching to stay inside a free tier, mocking APIs, and handling breaking changes.
10 articles
A complete working dashboard in one HTML file, using no key, no build step and no backend — then the three changes that make it production-ready.
7 min read
Spotting the ceiling before you hit it, the optimisations that buy another order of magnitude, and how to judge whether paying or self-hosting is cheaper.
7 min read
How providers signal a breaking change before it lands, why validating at the boundary turns silent corruption into a loud error, and what to do when an API dies entirely.
6 min read
Intercepting requests instead of stubbing your own code, recording real responses so mocks stay honest, and the drift problem that makes mocks lie.
6 min read
Which tool to reach for when, the curl flags that actually matter for debugging, and how to turn a manual check into an automated one.
7 min read
Telling a dead API from a moved one, why a 200 response does not mean working, and the monitoring script we run against 2,712 listings.
6 min read
Staying under an API's limit before it rejects you, with a token bucket and a concurrency-capped queue you can paste into a project today.
6 min read
Why public CORS proxies are a security hole, how to write a locked-down one in about twenty lines, and when you do not need a proxy at all.
6 min read
How to pick a cache duration from how fast the data actually changes, why stale-while-revalidate is the setting that matters, and what to serve when the upstream fails.
7 min read
Why NEXT_PUBLIC_ and VITE_ variables are not secrets, how to find keys already leaking in your build, and the proxy pattern that fixes it properly.
6 min read