Background
I ran brokk-sindre.dk on Ghost CMS. Self-hosted, robust, good at removing the abstraction layer between you and your website. A solid CMS. But with AI, that layer is no longer necessary. Claude Code can write, edit and structure content directly in the codebase — without an admin panel as a middleman.
And I wanted more than Ghost could offer. Parallax effects with mountains and clouds that move as you scroll. Full-text search with Meilisearch. Auto-generated OG images. AI-optimized content with llms.txt. Danish and English. That requires full control over the stack.
What I built
I migrated the entire site to Astro 5 in 2 days. Claude Code was involved the whole way — from architecture decisions to the last component. Not as an experiment, but as the primary tool.
Claude functions as the CMS. No database, no admin panel. Content is written in MDX, versioned in Git, and built automatically. Claude Code has a set of specialized skills — for cases, blog posts, SEO audits, copywriting — that ensure all content matches my voice and my standards.
Tech stack
- Astro 5 for static site generation with islands architecture
- Bun as runtime, package manager and production server — no Node.js, no Nginx
- Meilisearch for search, proxied through a custom server that keeps the API key server-side
- Tailwind CSS v4 with CSS-first configuration
- Docker with multi-stage build — dev, build and production in the same Dockerfile
- Satori for auto-generated Open Graph images at build time
Results
The site has 26 pages, 13 Danish cases, 4 services, resources and a blog — all in Danish and English. Lighthouse score is above 95. Content is structured for both Google and AI models via JSON-LD, llms.txt and fact-dense writing.
The interesting part isn’t the tech stack. It’s that Claude Code replaces an entire CMS. Git is the single source of truth, and AI agents write content that sounds like me — because they have a precise spec to work from. The site itself is proof of the services Brokk & Sindre offers.