A personal portfolio built around a 3D GameCube and CRT. Enter the screen to explore a desktop with project files, a browser, and a messaging app.
Explore the interactive site · Read the portfolio · Download my resume
Screenshot of the running site, September 2026.
- Enter the CRT and open the desktop apps. Windows can move, resize, minimize, and maximize.
- Open Files to browse project contributions and download the resume.
- Open the portfolio in the desktop browser, or use the direct portfolio link above.
- Open Messages to compose a conversation and explicitly submit it to me.
The site is a work in progress. I’m continuing to refine the scene models and interface. The desktop browser shows the portfolio itself; other websites and searches open in a new tab.
Next.js and React handle the routes and desktop interface. Three.js, React Three Fiber, and Drei render the scene. GitHub Actions builds a static export for GitHub Pages; no application server is required for hosting.
The portfolio and project folders use data/resume.json. Resume downloads and previews use the approved PDF in public/resume/. Messages uses a configurable external form endpoint; it is not a live chat service.
Requires Node.js 22 or newer (CI builds on Node 24).
npm ci
npm run devOpen http://localhost:3000. For a static production preview:
npm run build
python3 -m http.server 3000 --directory outnpm run lint
npm run typecheck
npm test
npm run buildCheck both the direct portfolio and the embedded desktop after interface changes. The automated checks cover desktop window behavior and message handling; they do not establish email receipt or replace visual inspection of the 3D scene.
| Location | Responsibility |
|---|---|
components/scene/ |
3D setup and camera interaction |
components/desktop/ |
Desktop shell and app windows |
components/browser/, files/, messages/ |
Desktop applications |
components/portfolio/ |
Direct and embedded portfolio |
data/resume.json |
Shared project and experience content |
public/resume/ |
Approved resume PDF and matching preview |
See deployment and asset notes for hosting, contact configuration, source references, and resume updates.
