Warum jetzt ein Blog?
Ich baue seit sieben Jahren Dinge, ohne viel darüber zu schreiben. Das war ein Fehler. Nicht aus den üblichen Gründen wie „deine Marke aufbauen". Ich merke einfach, dass Schreiben mich zwingt, Dinge wirklich zu verstehen. Wenn ich es nicht klar erklären kann, habe ich es noch nicht verstanden.
Womit diese Seite gebaut ist
Das Portfolio selbst ist eine Next.js 15 App, deployed auf Vercel. Der Blog hat kein CMS, nur .mdx-Dateien in src/content/blog/. Jede Datei beginnt mit einem Frontmatter-Block:
---
title: Hello World
date: 2026-01-04
tags: [engineering]
published: true
---
Your content here...
next-mdx-remote rendert sie serverseitig in React Server Components, und sugar-high übernimmt das Syntax-Highlighting ohne Konfiguration.
Das Routing ist eine Next.js App Router Slug-Route unter src/app/[lang]/blog/[slug]/page.tsx. Wenn du /en/blog/hello-world aufrufst, extrahiert Next.js den Slug und übergibt ihn an die Page-Komponente. generateStaticParams läuft zur Build-Zeit, liest alle veröffentlichten Beiträge und teilt Next.js mit, welche Slugs vorgerendert werden sollen:
export async function generateStaticParams() {
const posts = getPosts();
return posts.map((p) => ({ slug: p.slug }));
}
Dann übernimmt die Page-Komponente:
export default async function BlogPostPage({ params }) {
const { slug } = await params;
const post = getPost(slug);
return <MDXRemote source={post.content} components={mdxComponents} />;
}
getPost liest die .mdx-Datei von der Festplatte, entfernt das Frontmatter und gibt den rohen Content-String zurück. MDXRemote kompiliert und rendert ihn auf dem Server mit einer Custom-Komponentenmap, damit Elemente wie code, h2 und a mit den richtigen Stilen gerendert werden statt mit Browser-Defaults:
export const mdxComponents = {
h2: createHeading(2),
a: CustomLink,
pre: Pre,
code: Code,
};
Was als Nächstes kommt
- System-Design-Interview-Vorbereitung mit Animationen: Consistent Hashing, Leader Election, Replikationsverzögerung, Inhalte bei denen ein statisches Diagramm nicht ausreicht
- Zufälliges Zeug wie Raumplanung und Ästhetik, warum nicht
- Separation of Concerns, nicht nur in der Software, sondern auch im Leben und im Innendesign
- Technisches SEO aus der Perspektive eines Ingenieurs
- Ideen aus Büchern, die ich lese, keine Zusammenfassungen, nur die eine Sache, die hängen geblieben ist
