Hello World

February 25, 2026

Hello World

The first post on this blog, a quick look at the stack, what I plan to write about, and why I finally bothered.

engineering

Why a blog now?

I've been building things for seven years without writing much about it. That was a mistake. Not for the usual "build your brand" reasons. I just find that writing forces me to understand things properly. If I can't explain it clearly, I don't understand it yet.

What this site is built on

The portfolio itself is a Next.js 15 app deployed on Vercel. The blog has no CMS, just .mdx files sitting in src/content/blog/. Each file starts with a frontmatter block:

---
title: Hello World
date: 2026-02-25
tags: [engineering]
published: true
---

Your content here...

next-mdx-remote renders them server-side inside React Server Components, and sugar-high handles syntax highlighting with no config.

The routing is a Next.js App Router slug route at src/app/[lang]/blog/[slug]/page.tsx. When you hit /en/blog/hello-world, Next.js extracts the slug and passes it to the page component. generateStaticParams runs at build time, reads all published posts, and tells Next.js what slugs to pre-render:

export async function generateStaticParams() {
  const posts = getPosts();
  return posts.map((p) => ({ slug: p.slug }));
}

Then the page component picks up from there:

export default async function BlogPostPage({ params }) {
  const { slug } = await params;
  const post = getPost(slug);
  return <MDXRemote source={post.content} components={mdxComponents} />;
}

getPost reads the .mdx file from disk, strips the frontmatter, and returns the raw content string. MDXRemote compiles and renders it on the server using a custom component map so things like code, h2, and a render with the right styles instead of browser defaults:

export const mdxComponents = {
  h2: createHeading(2),
  a: CustomLink,
  pre: Pre,
  code: Code,
};

What's next

  • System design interview prep with animations, consistent hashing, leader election, replication lag, the kind of content where a static diagram isn't enough
  • Random stuff like room planning and aesthetics, because why not
  • Separation of concerns not just in software but in life and interior design
  • Technical SEO from an engineer's perspective
  • Ideas from books I'm reading, not summaries, just the one thing that stuck
  • Right to left web development