
How to Build Batch PDF Processing with Vue 3 and pdf-lib
Batch processing PDFs sounds like a server-side job, but with pdf-lib and a little patience, you can...

How to Build a PDF Viewer in Vue.js with PDF.js + AI, vue-pdf-embed, @tato30/vue-pdf, and Vue PDF Viewer (2026)
About three weeks ago, I reread the early 2024 version of this comparison I wrote on this blog. The...

Serving many brands from one Nuxt 3 codebase
I work on a white-label storefront that ships under a couple dozen brands. Same flows, same...

Why We Built Another Data Grid (and What It Took to Ship It)
If you've ever had to pick a data grid library for a React or Vue app, you know the landscape: a...

How I am using Vue with Typescript 7 today
TypeScript 7 shipped this week. The Go-native compiler, the one with the order-of-magnitude speed...

How to Convert PDF to Word with Vue 3 and PDF.js
Extracting text from a PDF in the browser sounds straightforward. It is — mostly. The tricky part is...

Our verifier was buggier than the code it verified
The most dangerous bug in a verification pipeline isn't a false pass. It's a false fail. We know...

I Built the Vue 3 Japanese Postal Code Library That Didn't Exist
Introduction I'm a full-stack engineer working in Tokyo. One day, I needed to build a...

How to Manage Complex State in Large Vue Projects: "Scattered" vs "Systematic"
Large frontend systems rarely hit their limit because they chose the wrong individual state tool. They hit it when ownership, sharing boundaries, cache semantics, persistence, and SSR rules no longer compose into one coherent system.

H5 Debug in Practice (2): Android WebView White Screen—From Console Remote Debug to Mock Validation
A campaign H5 white-screened on some Android devices after a button tap. All requests returned 200,...