Blog
Guides, product updates and engineering notes from the Transactional team.

How to Generate Invoice PDFs with an API
Every SaaS that handles payments needs to generate invoices. And every team that builds invoice generation from scratch regrets it. Here's how to skip the pain and set up a reusable invoice template you can call from any backend.
Kevin · May 31, 2026

Stop Maintaining Your Own PDF Rendering Stack
You shipped a PDF feature. Maybe it was invoices, contracts, or reports. You picked Puppeteer, it worked. That was six months ago. Now you're debugging memory leaks at 2 AM, your Docker image is 1.8 GB, and you just spent a week figuring out why a Thai font renders as boxes in production.
Kevin · May 30, 2026

How to Replace Puppeteer with a PDF API (and Why You Should)
Puppeteer is great for browser automation. It's not great as PDF infrastructure. If you're running headless Chrome in production just to generate invoices or reports, you've probably already felt the pain. Here's how to migrate away from it.
Kevin · May 29, 2026