Journal
The blog
Notes on web development, interface design and building products — drawn from real projects.
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 →