Articles

Source for this blog
Click here
For free public APIs
Click here
How to Build Batch PDF Processing with Vue 3 and pdf-lib
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...

2 min read
How to Build a PDF Viewer in Vue.js with PDF.js + AI, vue-pdf-embed, @tato30/vue-pdf, and Vue PDF Viewer (2026)
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...

14 min read
Serving many brands from one Nuxt 3 codebase
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...

6 min read
Why We Built Another Data Grid (and What It Took to Ship It)
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...

3 min read
How I am using Vue with Typescript 7 today
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...

7 min read
How to Convert PDF to Word with Vue 3 and PDF.js
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...

3 min read
Our verifier was buggier than the code it verified
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...

6 min read
I Built the Vue 3 Japanese Postal Code Library That Didn't Exist
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...

3 min read
How to Manage Complex State in Large Vue Projects: "Scattered" vs "Systematic"
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.

13 min read
H5 Debug in Practice (2): Android WebView White Screen—From Console Remote Debug to Mock Validation
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,...

5 min read