Blog
My blog on web development, AI, digital practice and everything that keeps me building for the web — from more than two decades of experience.
This is where I write about what I run into in everyday web work — technology, AI, tools and methods. The topics will broaden over time; it starts with a series on SEO and GEO. Below you'll find all posts, newest first.
Latest posts
-
Redesign by AI: Why JPKCom DB Deliberately Looks AI-Made
Redesign by AI: how I rebuilt JPKCom DB with Claude Code — Dracula for dark mode, my own light palette, tested contrast and a deliberately AI look.
-
BGH Ruling VI ZR 144/23: When Your Shop Sends Data to Third Parties
Germany's Federal Court of Justice allows injunctions against data transfers to third parties. What it decided, what is open and what a test shop really sends.
-
Anthropic and Bun: The Runtime Living Inside Your Claude Code Binary
Anthropic bought Bun, Claude Code ships as a Bun executable — and Bun 1.4 was ported to Rust by an AI in eleven days. I opened up the binary on my own machine to check how much of that holds up.
-
piplet: When Program and Data Live in the Same File
WordPress' piplet stores its notes behind __halt_compiler() inside its own PHP file. What the source teaches about atomic writes, inode races, validating before parsing and optimistic concurrency — and which of it belongs in your own projects.
-
Sveltia CMS for 11ty: The Editorial Interface the Generator Lacks
A Git-based CMS as one HTML file and a script tag: what Sveltia CMS delivers for an 11ty blog, how to self-host it without a CDN — and why two pages of its own documentation disagree about file paths.
-
Out of WordPress, Into the Repository: @11ty/import in Practice
One command pulls an entire WordPress blog into your own repository as Markdown — with Mastodon, Bluesky and YouTube thrown in. What @11ty/import 2.0.1 actually delivers, measured across all six sources, including the point where it breaks.
-
Why 11ty: Six Years Static — and Why I'm Staying for Build Awesome Too
From my own PHP CMS via WordPress to Eleventy: why 11ty has built my homepage and this knowledge base since 2020 — security, a11y, performance, SEO and GEO, plus an honest take on the Build Awesome rebrand.
-
15 September 2026: Cloudflare Changes the Crawler Defaults
Search, Agent, Training — Cloudflare re-sorts bots and blocks two categories by default on ad-bearing pages. Why that can take Googlebot down with it.
-
HTML Landmarks in Practice: One Structure for Screen Readers, Search and AI
Landmarks from the ground up: implicit roles, the nesting rules, the role attribute, labelling, copy-ready patterns, a checklist — plus what extractors read from them.
-
CSS @layer in Practice: Cascade Layers Instead of Specificity Wars
Cascade layers from the ground up: syntax, cascade order, frameworks like Bootstrap and Tailwind in their own layer, shadow DOM and design tokens.
-
DESIGN.md: The Design System as a File the AI Can Read Too
What the DESIGN.md format from Google Labs actually delivers: background, AI value, accessibility and CMS integration — on a living example, drawbacks included.
-
Retention Periods: How Long You May Really Keep Applicant and Contact Data
The six-month rule for job applications appears in no statute. Where it comes from, what applies to contact forms, where form data really ends up — and how to get it under control technically.
-
Header Sizes: How Big Should a Website Header Be?
Header dimensions with numbers instead of gut feeling: device and resolution data for Germany vs. worldwide, CSS pixels vs. 4K, breakpoints, size tables, accessibility limits and conversion evidence.
-
Author pages without external signals: when they start to pay off
Without external signals no project needs an author page — but every project needs an author identity. Threshold model, scenarios, German legal angle.
-
The SEO and GEO Series: from the Fundamentals to AI Visibility
An overview of my SEO and GEO series — 15 articles from the SEO foundation through GEO fundamentals and practice to measurement, plus a workshop report. The entry point and table of contents.
-
Working Securely with Node.js and npm: My Setup Against Supply-Chain Attacks
How I harden Node.js and npm projects against supply-chain attacks: Socket Firewall with a walkthrough, .npmrc, a hardened package.json, npm ci, provenance signatures — plus a copy-paste starter.
-
Making-of: Shipping and Auto-Updating Your Own WordPress Plugins with GitHub Actions
How a WordPress plugin outside the .org directory gets the one-click update experience: GitHub Actions builds the ZIP and checksum, a static JSON manifest on gh-pages replaces the rate-limited GitHub API, and a lean updater class hooks safely into WordPress' update system.
-
Configuring Claude Code: From Defaults to Engineering Partner
The settings that genuinely move the needle in Claude Code: a lean context, correct hooks, permission modes, effort control and subagents — with the real mechanisms instead of the half-truths making the rounds.
-
Who Checks the Checker? Adversarial Fact-Fidelity for AI Text
Why naive AI fact-checking fails and how an adversarial review actually works — with a copyable verification prompt, the ground-truth hierarchy, and a real case where even the checker got it wrong.
-
Claude Code in a Container: Podman, Docker and Shared Setups
How to run Claude Code in Podman (rootless/rootful) and Docker, share containers and ~/.claude directories across multiple users, and set permissions cleanly with groups, setgid and default ACLs.
Archive
2026
- Redesign by AI: Why JPKCom DB Deliberately Looks AI-Made
- BGH Ruling VI ZR 144/23: When Your Shop Sends Data to Third Parties
- Anthropic and Bun: The Runtime Living Inside Your Claude Code Binary
- piplet: When Program and Data Live in the Same File
- Sveltia CMS for 11ty: The Editorial Interface the Generator Lacks
- Out of WordPress, Into the Repository: @11ty/import in Practice
- Why 11ty: Six Years Static — and Why I'm Staying for Build Awesome Too
- 15 September 2026: Cloudflare Changes the Crawler Defaults
- HTML Landmarks in Practice: One Structure for Screen Readers, Search and AI
- CSS @layer in Practice: Cascade Layers Instead of Specificity Wars
- DESIGN.md: The Design System as a File the AI Can Read Too
- Retention Periods: How Long You May Really Keep Applicant and Contact Data
- Header Sizes: How Big Should a Website Header Be?
- Author pages without external signals: when they start to pay off
- The SEO and GEO Series: from the Fundamentals to AI Visibility
- Working Securely with Node.js and npm: My Setup Against Supply-Chain Attacks
- Making-of: Shipping and Auto-Updating Your Own WordPress Plugins with GitHub Actions
- Configuring Claude Code: From Defaults to Engineering Partner
- Who Checks the Checker? Adversarial Fact-Fidelity for AI Text
- Claude Code in a Container: Podman, Docker and Shared Setups
- Making-of: My SEO and GEO Tool
- The Quarkdown Series: Markdown with Superpowers, in Eleven Parts
- Content Signals & C2PA: Controlling AI Usage
- Quarkdown: Tips & Tricks from Practice
- Inside Quarkdown: The Compilation Pipeline in Six Stages
- Core Web Vitals & Performance
- Quarkdown & AI: The Agent Skill and Why Markdown Is the Bridge
- Measuring GEO — and the Outlook on Agents
- Quarkdown in Practice: CLI, PDF Export & Deployment
- Quarkdown: Presentations from Markdown — Slides, Fragments, Speaker Notes
- Quarkdown for Science: Formulae, Bibliography, Cross-References
- Quarkdown: From Data to Tables and Diagrams
- Quarkdown: Arranging Content — Stacks, Containers, Boxes & Grids
- Multimodal & Search Everywhere
- Quarkdown: One Source, Four Documents — Types, Themes & Page Setup
- Quarkdown: Markdown That Computes — Functions, Variables, Scripting
- Quarkdown: When Markdown Learns Typesetting
- E-E-A-T & Brand Authority
- Structured Data & Technical GEO
- Link Strategy: Internal and External
- Multi-Turn & Query Fan-Out
- Writing for AI: The GEO Writing Playbook
- Google's AI Optimization Guide, in Context
- On-Page & Content: What Makes Pages Rank
- GEO: Visibility in AI Answers
- Technical SEO: The Foundation
- SEO in 2026: What Actually Matters