Rendering images on the server without a headless browser
Why we replaced Chrome-based screenshotting with Satori, and what it costs you in CSS support.
Short write-ups of problems we hit while building our own products. No tutorials, no thought leadership – just the reasoning behind decisions we had to live with afterwards.
Why we replaced Chrome-based screenshotting with Satori, and what it costs you in CSS support.
One source of truth for colour and type across a React Native app and a Node rendering service – enforced by CI, not by discipline.
SSRF hides in the redirect chain, not in the first request. Three fixes we shipped to our link importer.
Dependency licences, theme tokens and a type check – three cheap gates that catch more than our test suite does.