Jake Lee
HomeBlogProjectsAboutContact
EN中文
EN中文

Subscribe for updates

Occasional updates on new articles and project updates.

Jake Lee

Occasional updates on new articles and project updates.

GitHub
© 2026 Jake Lee. All rights reserved.
March 15, 20261 min readengineering

Building a modular personal site with MDX

Why MDX fits a brand site that will grow into a platform, and how static generation keeps things fast.

nextjsmdxarchitecture

This post demonstrates MDX, fenced code with syntax highlighting, and structure you can extend later with a CMS or database.

Why MDX first

Git-backed content keeps drafts in branches, diffs readable, and deployment predictable. When you need scheduling or non-technical editors, you can migrate the same slugs into Postgres or Payload without changing routes.

Code sample

export const revalidate = 3600;
 
export async function generateStaticParams() {
  return getAllSlugs().map((slug) => ({ slug }));
}

What comes next

Tags, categories, and RSS help readers discover posts. Contact and newsletter endpoints turn traffic into relationships without bolting on a heavy CMS on day one.

Small heading for TOC

You should see this in the table of contents beside the article on large screens.

Older

Static-first pages, dynamic only where it matters

Related

  • Mar 1, 20261 minperformance
    Static-first pages, dynamic only where it matters
    A simple rule for personal sites: make marketing and content static; keep mutations behind small API routes.
    nextjsperformanceseo
  • Mar 12, 202510 minframeworks
    Nuxt vs Next: compare the frameworks by operating model, not marketing labels
    A senior comparison of Nuxt and Next across rendering models, data fetching, file conventions, deployment assumptions, and team fit.
    frontendnuxtnextjsvuereact
  • Dec 20, 20256 mintooling
    Vite vs Webpack: development speed is not the same as build architecture
    A practical comparison of Vite and Webpack across startup latency, plugin ecosystems, production builds, legacy constraints, and migration strategy.
    frontendvitewebpackbuild-tools

On this page

  • Why MDX first
  • Code sample
  • What comes next
  • Small heading for TOC