Back to Blog
·mulligan.sh

Building with Next.js in 2025

nextjsreactweb development

Building with Next.js in 2025

Next.js continues to evolve, and the App Router has matured significantly. Here's why I chose it for this site.

The Hybrid Approach

What makes Next.js powerful is its flexibility:

  • Static pages for content that rarely changes (like this blog)
  • Dynamic APIs for interactive features
  • Server Components for optimal performance

Key Features I'm Using

Static Site Generation

Blog posts are generated at build time:

export async function generateStaticParams() {
  const slugs = getAllPostSlugs();
  return slugs.map((slug) => ({ slug }));
}

Markdown with Frontmatter

Each post is a simple markdown file with metadata:

---
title: "Post Title"
date: "2025-01-17"
public: true
---

This keeps content portable and version-controlled.

The Stack

  • Next.js 15 with App Router
  • Tailwind CSS for styling
  • gray-matter for parsing frontmatter
  • remark for markdown processing

Simple, proven tools that just work.

Conclusion

Sometimes the best architecture is the simplest one. Next.js gives you the flexibility to start simple and scale up when needed.