Blog
Thoughts on PDF generation, developer tools, and building in public.
Auto-Generate PDF Invoices in Your SaaS App with One API Call
Every SaaS app eventually needs to send invoices. Here's how to generate pixel-perfect PDF invoices from a Stripe webhook in ~20 lines of code — no library to maintain.
Read on DEV →I Built a PDF Generation API — Here's the Tech Stack and What I Learned
How I shipped RenderPDFs using Fastify, Puppeteer, PostgreSQL, Cloudflare R2, Next.js 15, and Railway — plus the production lessons I picked up along the way.
Read on DEV →PDF Generation is Broken. I Fixed It with One API Call.
Every developer has been there — fighting Chrome memory leaks, broken CSS, and async timeouts just to generate a PDF. Here's how I built a better way.
Read on Medium →HTML to PDF in Node.js Without the Puppeteer Pain
Puppeteer works — until it doesn't. Memory leaks, broken CSS, Chromium install hell. Here's how to convert HTML to PDF in Node.js with a single API call and zero browser management.
Read on DEV →Markdown to PDF in Node.js: The API Approach
Generating a PDF from Markdown in Node.js shouldn't require stitching together marked, puppeteer, and custom CSS. Here's a cleaner approach that takes your Markdown and gives you a PDF.
Read on DEV →How to Merge PDFs in Node.js (Without a 300-Line Library Setup)
Merging PDFs in Node.js sounds simple until you're debugging pdf-lib byte offsets at 2am. Here's how to merge any number of PDF files with a single API call.
Read on DEV →Generate a PDF from Any URL in Node.js
Sometimes you need to PDF an entire webpage — a report, a receipt page, a dashboard. Here's how to turn any URL into a clean PDF without spinning up Puppeteer yourself.
Read on DEV →