Blog

Thoughts on PDF generation, developer tools, and building in public.

TutorialMarch 29, 2026 · 3 min read

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
Behind the buildMarch 29, 2026 · 5 min read

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
LaunchMarch 2026 · 2 min read

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
TutorialApril 2026 · 4 min read

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
TutorialApril 2026 · 4 min read

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
TutorialApril 2026 · 3 min read

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
TutorialApril 2026 · 4 min read

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