Personal portfolio website built with Next.js, GSAP, and Lenis.
Live site:
This project is a portfolio-first brand site focused on:
- clear personal identity
- selected work presentation
- editorial motion and pacing
- responsive reading experience
The home page is built as a motion-aware single-page experience with:
- HOME hero
- slogan section
- self-introduction section
- selected work section
- Next.js 16
- React 19
- TypeScript
- GSAP
- Lenis
- Firebase Hosting
- Vitest
- Playwright
npm install
npm run devnpm run dev
npm run lint
npm test
npm run typecheck
npm run build
npm run deploy:firebaseThis repository is configured for static export deployment on Firebase Hosting.
- Firebase project:
portfolio-a9b1d - Hosting URL:
https://portfolio-a9b1d.web.app/
Deploy the current build with:
npm run deploy:firebasesrc/app/ Route entry, app shell, and style entrypoint
src/app/styles/ Imported style partials for the live route
src/components/ Home sections and shared UI
src/content/ Portfolio and copy content
src/lib/ Shared helpers and motion utilities
docs/ Project maps and working notes
.codex/ Task recovery and progress tracking
- The current Firebase Hosting setup uses static export.
- Self-introduction title line breaks are controlled from structured content data in
src/content/about-sheet.ts. - Reduced motion behavior is preserved across the main sections.