Back to Projects
ezhou.dev - Personal Website
Portfolio site built with Next.js 14, fully statically generated
Next.jsTypeScriptTailwind CSSFramer Motion
Overview
A personal portfolio site designed to showcase engineering projects and experience. Built with a minimalist dark aesthetic and deployed on Vercel, with every page pre-rendered at build time.
Architecture
Next.js 14 App Router with static site generation. Project pages are generated from a single typed data source via generateStaticParams. Framer Motion handles scroll-triggered animations and a custom command palette (Cmd+K) provides keyboard navigation. Tailwind CSS provides the design system.
Key Challenges
- •Navigating Next.js 14 App Router patterns and RSC/client component boundaries
- •Designing a minimal aesthetic that feels engineered, not templated
- •Building an accessible command palette with full keyboard support
What I Learned
- •Next.js 14 App Router architecture and SSG patterns
- •Framer Motion animation patterns for scroll-triggered reveals
- •Deploying and configuring custom domains on Vercel with Cloudflare DNS
Future Improvements
- •Add dark/light mode toggle
- •Add a technical blog with real write-ups of Northbound and rUNSWift work
- •Add interactive project visualisations