PDF generation seems simple until it isn't. After building a PDF API that handles thousands of documents, here are the mistakes I see developers make — and better approaches. Mistake 1: Using Puppeteer for Everything Puppeteer spins up a full Chromium browser to render each PDF. It works, but: ~150MB RAM per instance 2-5 second cold starts Crashes under concurrent load Better approach: Use a p