Build a fast, SEO-first personal website using Next.js App Router. The site is content-driven (MDX) and showcases Projects (case studies) and Writing (blog). Minimal JS, clean UI, scalable structure.
- Next.js App Router + TypeScript
- Content-driven pages using MDX in /src/content
- Server Components by default; use client components only when necessary
- Excellent SEO: metadata, OpenGraph, sitemap, robots, RSS
- Clean, minimal design with Tailwind
/Home: hero + featured projects + latest writing/projectslist from content/projects/projects/[slug]MDX case study page/writinglist from content/writing/writing/[slug]MDX blog post page/aboutabout + experience + links/resumelink to /public/resume.pdf/nowoptional “what I’m doing now”
Use this structure:
src/app/(site)for pages and layoutsrc/componentsfor reusable UI and sectionssrc/content/projectsandsrc/content/writingfor MDXsrc/lib/contentfor content loaders and MDX utilitiessrc/lib/seofor metadata helperspublic/resume.pdffor downloadable resume
Each MDX file must have frontmatter fields. Projects:
- title, description, date, tags, role, stack, github, demo, featured Writing:
- title, description, date, tags, published
- Load MDX content at build time
- Provide
getAllProjects(),getProjectBySlug(),getAllPosts(),getPostBySlug() - Use
generateStaticParams()for[slug]routes
- Reusable components: ProjectCard, PostCard, Tag/Badge, Callout, CodeBlock
- Minimal but premium layout: Container, Navbar, Footer
- Typography-first design, accessible contrast
- Metadata per page
- OpenGraph images (default is OK)
- sitemap.ts and robots.ts
- RSS feed at /api/rss
- Implement the architecture above
- Provide placeholder content with 2 projects and 2 posts
- Ensure clean code, no unused dependencies, and consistent formatting