This is a personal portfolio site built with React, TypeScript, and Vite.
It features interactive pages, a 3D black hole visualization, and is deployed to GitHub Pages.
- Home, Resume, Projects, Contact pages
- Responsive design with CSS Modules
- Custom navigation and footer components
- 3D Black Hole visualization (Three.js)
- Accessible, fast, and optimized for modern browsers
public/
cubeMaps/ # CubeMaps dir
scene/ # Texture selection
resolution/ # Resolution selection
backgroundLQ.jpg # Resume background image
src/
components/ # Reusable UI components (Navigation, Footer, BlackHole, Icons, etc.)
pages/ # Page-level components (home, resume, projects, contact)
utils/ # Device detection and texture caching
styles.css # Global CSS variables and styles
reset.css # CSS reset
index.css # Base styles
vite.config.ts # Vite configuration
tsconfig.json # TypeScript configuration
.eslintrc # ESLint configuration
pnpm installStart the local dev server:
pnpm devCreate a production build:
pnpm buildpnpm previewCheck code quality:
pnpm lintAutomatic deployment to GitHub Pages on master branch merge.
To deploy manually:
pnpm deploy- TypeScript strict mode
- CSS Modules for styling
- ESLint with recommended rules
- 2-space indentation, no semicolons
See AGENTS.md for detailed code style and project guidelines.