Journal

The blog

Notes on web development, interface design and building products — drawn from real projects.

RSS feed ↗

Self-hosting web fonts: why and how

Loading fonts from Google means sending every visitor's IP to a third party — and slowing the page down. Here's why I self-host them, and the exact method.

Read article →

Ranking a site in 2026, when AI answers before Google

Search is turning into an answer box. Here's what I change — and what I deliberately don't — to keep a site visible in the age of AI.

Read article →

Securing a static site: CSP, headers and .htaccess

A static site has no database, but it still has an attack surface. The concrete settings I apply on every project.

Read article →

Tailwind CSS vs traditional CSS: my choice

Tailwind CSS or plain CSS? My take and the choice I make depending on the project.

Read article →

Welcome to the blog

The first post on the Stackshaka blog: what you'll find here and why.

Read article →

Why choose Next.js for a static site

Why Next.js static export mode is an excellent choice for a portfolio or marketing site.

Read article →