blog _
My blog is where I talk about full-stack development, Vue.js, JavaScript, Nuxt and other software engineering adventures. Come along for some tips, tricks, and personal stories.
I always got stuck on the third chord, so I built a tool for it
I can play plenty of chords but never knew which one comes next. So I built WhatsTheNextChord: pick the chord you're on, get a few that fit, shown as guitar shapes.
Design systems are agentic infrastructure now
In the AI era, your design system's most demanding user is an agent that can't read between the lines. Tokens, components, and written rules are its API now.
MSAL authentication in Vue 3 and Nuxt
How to set up Microsoft Entra ID sign-in in Vue 3 with vue3-msal-plugin and MSAL Browser v4: app registration, login, access tokens, route guards, and Nuxt.
useFetch vs useAsyncData: A Practical Guide to Nuxt Data Fetching
When to use useFetch, useAsyncData, useLazyAsyncData, and plain $fetch in Nuxt, what the server and lazy options actually do, and the Nuxt 4 changes that break Nuxt 3 code.
Handling v-html Links with Vue Router in Vue 3
Links rendered with v-html reload the whole app instead of routing. Fix it with one delegated click listener in Vue 3, guard the edge cases, and sanitize the HTML.
Preventing Layout Shifts When Opening a Modal
Locking body scroll for a modal removes the scrollbar and shifts the page sideways. scrollbar-gutter fixes it in one line, and here is the JavaScript fallback for the cases it misses.