My developer portfolio. A single-page dark-themed site built with modern tooling — React, TypeScript, Vite, and Tailwind CSS.
- React 19 with the React Compiler
- Vite + Tailwind CSS v4
- React Router
- TypeScript, pnpm, ESLint 9 (flat config)
pnpm install
pnpm dev| Script | Description |
|---|---|
pnpm dev |
Start the dev server with HMR |
pnpm build |
Build for production into dist/ |
pnpm preview |
Preview the production build |
pnpm lint |
Run ESLint |
pnpm lint:fix |
Run ESLint and auto-fix issues |
pnpm typecheck |
Run tsc --noEmit |
src/
components/ UI components and page sections
data/ Content: user, stack, projects
pages/ Route-level pages
types/ Shared TypeScript types
Most content lives in src/data/ — edit user.ts, stack.ts, or projects.ts to update your profile, tech stack, and project list without touching component code.
On push to main, the deploy workflow runs pnpm typecheck, pnpm lint, and pnpm build (via build.yml), then publishes dist/ to GitHub Pages.