
State Management in Vue: Vuex vs. Pinia
Vuex vs. Pinia explained with real trade‑offs, including API design, TypeScript ergonomics, migration paths, and when each choice still makes sense.
Articles
In web development, architecture is the shape of a system over time: the boundaries we choose, the responsibilities we assign, and the trade‑offs that keep change affordable as a product grows. Good front‑end architecture is rarely about grand diagrams alone; it is more often about clarity, resilience, and leaving teams with something they can still work with sensibly six months later.
Below you will find a subset of articles from my blog specifically about Architecture. This is an area that I have worked with for many years, and have managed to write about quite a few times. There are eight collected together for you below.

Vuex vs. Pinia explained with real trade‑offs, including API design, TypeScript ergonomics, migration paths, and when each choice still makes sense.

How to vet a senior Next.js developer for replatforming, recovery, SEO, performance, CMS, Vercel, and production debugging work.

RxJS offers a powerful, reactive approach to managing state in Angular apps. Here, I clearly explain practical patterns and show how to use them effectively.

React developer vs. Next.js developer explained through production concerns: rendering, routing, caching, SEO, deployment, CMS data, and debugging.

Multi‑tenant applications serve multiple customers from a single codebase. Here, I walk through building a scalable multi‑tenant web application using Next.js.

Build design systems for web apps with Figma tokens, Storybook components, npm packages, release discipline, supply‑chain care, and team adoption.

React Hooks, introduced in React 16.8, bring state and lifecycle features to functional components. Here, I explore how they work and why they matter.

React error boundaries explained with fallback UI, componentDidCatch(), getDerivedStateFromError(), logging, placement strategy, and what they cannot catch.