This homepage — how it came to be
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.