There's a moment every developer knows. You need to generate a PDF. It looks simple. You've done harder things. Three hours later, you're reading a Stack Overflow thread from 2016 that ends with "works on my machine." This post is about that moment — the actual options, what breaks in each, and where I landed after years of hitting this in production. It uses a stripped-down WebKit engine and conv
For years, I called myself a web designer. Then a developer. Then a digital consultant. None of those titles ever felt quite right. Because clients weren't just asking me to build things. They were asking me to solve problems. Slow sites, broken checkouts, confusing navigation, teams that couldn't figure out how to update their own content. That's when I realized what a technology solutions profes