← Back to all notes

This homepage — how it came to be

Published:

Own online presence on own infrastructure. Astro on the front, Directus on the back — and a recurring playground for SEO and LLM discoverability experiments.

Why this exists

LinkedIn is fine for being found, Xing is nearly dead, GitHub is tech-only. I wanted a place that's mine — no algorithmic timeline, no tracking pixels I didn't set myself, no "your reach is unfortunately lower today".

Also: any platform I didn't build myself eventually feels insufficient. Having my own homepage is also a statement: I can do this.

Time invested

First version up over a weekend. The current redesign was three or four iterations over weeks. Plus a thorough SEO/LLM discoverability phase when I realised Google effectively did not know the site and ChatGPT preferred to hallucinate about me.

What worked

  • Astro with output: 'static' — all content baked into HTML at build time. No runtime, no server surprise, served in milliseconds.
  • Directus as headless CMS. Editor experience is good, REST API is trivial, schema is versioned in YAML.
  • Bilingual from day one. prefixDefaultLocale: true, clean hreflang, sitemap with slug pairs for DE/EN.
  • JSON-LD graph (Person + WebSite + Article + ItemList) — Google Rich Results and LLMs now have clear anchors.

What didn't

  • Naming bikeshedding around the notes page. Notizen, Blog, Journal, Posts — landed back on Notizen.
  • Schema migrations without proper migration tooling. Phase 3 fields added via API script instead of editing the YAML — pragmatic over pure.
  • Layout inconsistency: two layouts (old + redesign) running in parallel because the Tools page still used the old one. Notes pages were stuck between for a while.

Where I am now

The site exists. It's discoverable on Google. ChatGPT/Claude/Perplexity get a clean index via llms.txt. And I have my own playground for anything web I want to try out.