← Back to blog

Why I rebuilt the site in Next.js

1 min read

Why I rebuilt the site in Next.js#

The previous version of this site was a default ASP.NET Core MVC template from 2018. I never added any real content — just the starter banners and some placeholder pages. Every time I thought about updating it, I bounced off the friction: compile step, server project, templates I didn't know well.

Next.js solves that for me:

  • One toolchain. Pages are React components. Blog posts are MDX files.
  • Zero-config deploys. Push to a branch, get a preview URL.
  • It's just files. New post = new .mdx file. No database, no CMS.

The stack fits how I actually work: write markdown, commit, move on.

Tradeoffs#

Static-ish sites don't need any of the more advanced Next.js features — ISR, Server Actions, the works. I'm using maybe 10% of the framework. That's fine. The 10% I'm using is the part I wanted.

If I ever need more — auth, dashboards, a real CMS — the runway is already there.

A blog post is just a file#

Adding a new post is two steps. Create the MDX file:

# My new post
 
Some **markdown** content. Code blocks highlight automatically.

Then register it in src/lib/posts.ts:

export const posts: Post[] = [
  {
    slug: "my-new-post",
    title: "My new post",
    date: "2026-04-23",
    excerpt: "One-line description.",
  },
  // ...
];

That's it. It shows up at /blog/my-new-post, the blog index, the sitemap, the RSS feed, and gets its own auto-generated OG image for social sharing.

Personal blog. Views and writing here are my own and do not necessarily reflect those of my employer or any organization I'm affiliated with. Side projects, written on personal time.