My corner of the internet! 🌱
Personal portfolio built with React, TypeScript, and Three.js. The site is deployed to GitHub Pages with gh-pages.
- Create React App /
react-scripts - React 19 + TypeScript
- React Router
- Three.js, React Three Fiber, and Drei
- GSAP for the bunny scene animation
- CSS modules by page, with shared theme tokens in TypeScript
npm start: run the local development servernpm run build: create a production build inbuild/npm run deploy: publishbuild/to GitHub Pagesnpm run lint: run ESLint onsrcnpm run lint:fix: run ESLint with autofixnpm run format: format source, docs, and root JSON/Markdown filesnpm run format:check: check formatting without writing changes
src/App.tsx: app shell, nav, theme setup, scroll reset, and route outletsrc/app/routes.tsx: route definitionssrc/pages/home/: home page, featured grids, 3D flower layer, and home-specific hookssrc/pages/home/homeFlowerControls.ts: all home flower model camera, scale, rotation, and layout controlssrc/pages/portfolio/: work grid pagesrc/pages/creative/: art grid page and artwork modalsrc/pages/project-detail/: project detail layout, embeds, progressive detail images, and link parsingsrc/pages/about/: about page layoutsrc/features/bunny/: bunny modal and runtime scene logicsrc/components/: shared site components such as the footer, dog companion, gradient background, and image wrappersrc/hooks/: reusable viewport, media query, and intersection hooks