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.

Side ProjectsMusicNuxt

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.

Design SystemsAIFrontend

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.

VueAuthenticationAzureTypeScript
upd.

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.

NuxtVueSSRWeb Development
upd.

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.

VueVue RouterJavaScript
upd.

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.

CSSJavaScriptWeb Development