Portfolio Website to visually show off my work in my career and free time.
https://nickhs.dev/
- About The Project
- Getting Started
- Experience Sync Editor
- Available Scripts
- Documentation
- Project Maintenance
- License
- Node.js version 22 or higher
- Yarn package manager (version 4 or higher)
- (Optional) nvm for Node version management
- Clone the repo
git clone https://github.com/CampAsAChamp/portfolio.git
- Navigate into the repo
cd portfolio - (Optional) If using nvm, install and use the correct Node version
This will automatically use the Node version specified in
nvm install nvm use
.nvmrc - Install dependencies
Or simply:
yarn install
yarn
- Start the development server
yarn start
- Open your web browser to
localhost:5173
Live site: https://nickhs.dev/
Local tooling keeps experience content in sync across the portfolio, LinkedIn, and resume from a YAML source of truth (experience-sync/content/experiences.yaml).
yarn exp:ui # local editor at http://127.0.0.1:4700
yarn exp:sync # generate portfolio data + LinkedIn/resume exports
yarn exp:check # fail if src/data/experiences.ts is stale vs YAMLThe editor UI is localhost-only and is not part of the Cloudflare Pages deploy. Full workflow, schema notes, and layout: experience-sync/README.md.
yarn startoryarn dev- Start development server onlocalhost:5173yarn build- Create production build inbuild/directoryyarn preview- Preview production build locally onlocalhost:4173
yarn exp:ui- Start the local experience content editoryarn exp:sync- Generate portfolio experiences + LinkedIn/resume exportsyarn exp:check- Fail if generated portfolio data is stale vs YAML- See
experience-sync/README.mdforexp:generate,exp:linkedin,exp:resume, and more
yarn test- Run unit tests onceyarn test:watch- Run unit tests in watch modeyarn test:ui- Open interactive Vitest UIyarn test:coverage- Generate test coverage reportyarn test:e2e- Run Playwright E2E testsyarn test:e2e:ui- Open interactive Playwright UIyarn test:e2e:headed- Run E2E tests with visible browseryarn test:lighthouse- Run Lighthouse CI audits (builds and audits production site)yarn test:all- Run all tests (unit + Lighthouse + E2E)
See docs/testing.md for details on unit, E2E, Lighthouse, and CI testing.
yarn lint- Run all linters (ESLint, TypeScript, Stylelint, Prettier)yarn lint:fix- Auto-fix linting issues and format codeyarn lint:eslint- Run ESLint onlyyarn lint:eslint:fix- Auto-fix ESLint issuesyarn lint:types- Run TypeScript type checkingyarn lint:css- Run Stylelint on CSS filesyarn lint:css:fix- Auto-fix CSS linting issues
yarn analyze- Analyze bundle size with source-map-explorer
| Topic | Guide |
|---|---|
| Testing | docs/testing.md |
| VS Code / Cursor | docs/vscode.md |
| Deployment | docs/deployment.md |
| Releases | docs/releases.md |
| Tooling configs | config/README.md |
| Experience sync | experience-sync/README.md |
| Agent / AI conventions | AGENTS.md |
For information about reporting security vulnerabilities, see SECURITY.md.
All notable changes are automatically documented in CHANGELOG.md by semantic-release. The changelog is generated from conventional commit messages and should not be manually edited. See docs/releases.md for more information.
Distributed under the MIT License. See LICENSE for more information.
