2

kushagrapandey.com

Personal Portfolio Website, you are on it!

This site is built with Next.js 14 and TypeScript using the App Router. Content is stored as MDX files and compiled by Contentlayer at build time, this gives me type safety, automatic slug generation, and all the benefits of static generation.

The design is minimal. Dark mode by default. Subtle animations (particles on homepage, scroll reveals as you navigate) enhance without distracting. The whole site is fast because it's pre-rendered static HTML served from Vercel's CDN.

Frontend Architecture

App Router with dynamic route segments for project pages. Server components for fetching and rendering content, client components only where interactivity is needed. Tailwind CSS for styling. Framer Motion for animations.

Content Layer

Project metadata and content live as .mdx files in /content/projects. Contentlayer compiles them at build time, generating a type-safe allProjects array. Add a new .mdx file and it's automatically available in the site—no need to manually register routes.

Performance

Pre-rendered static HTML means instant page loads. Incremental Static Regeneration means I can update project descriptions and the site rebuilds in the background. Automatic preview deployments on every commit mean I catch mistakes before they hit production.