Personal portfolio website created to showcase my projects and technical skills. Initially created as a static HTML website, the website has experienced multiple upgrades over the years including migration to PHP, Create React App, and most recently Next.js.
The homepage hero includes a timeline-driven Three.js Falcon Heavy rocket wireframe (staging, booster separation, plumes, and lighting) rendered alongside the rest of the site.
TypeScript, Next.js 16 / React 19 · Three.js · Tailwind CSS.
ESLint 9 · Prettier · EditorConfig · Jest & Testing Library.
Vercel · GitHub Actions.
- Node.js 24 or newer (
enginesinpackage.json)
The project uses Next.js. The development server supports hot reloading and runs at http://localhost:3000 by default.
npm run devnpm run lintProduction build: optimised output and per-route information from Next.js.
npm run buildThe portfolio uses Jest as the test runner for unit tests. Each component has a corresponding unit tests saved in the format *.test.tsx or *.test.ts. To run all unit tests, run the following command:
npm run test:ci
