back to work
Case Study · Flagship 3D Web

The Forge

A first-person walkable 3D portfolio website where the site itself is the proof — five themed zones, custom GLSL, an in-world Claude-powered chatbot, and a dynamic resume PDF generator, all in a single R3F canvas.

Role
Sole author · solo build
Live
rblaylock.dev
Tickets
90+ across 6 phases — all DONE
Type
Personal portfolio + professional showcase
The Forge

Most portfolios tell. Almost none prove.

A standard portfolio lists what someone can do. Almost none prove it. For a 3D / Three.js / R3F engineer, the deliverable that clears the bar is the site itself — every second a visitor spends on it should be an experience of the work.

One walkable 3D world, no page transitions.

The Forge is a single continuous R3F scene with five themed zones — Hearth (forge bio), Skill Tree (70+ tiered skill nodes), Project Vault (12 projects on glowing pedestals), Timeline (career path along a walkable track), War Room (holographic command table), plus a hidden secret zone gated by exploration. WASD + arrow keys + click-to-walk + orbit camera, no page loads.

Underneath: strict folder discipline (canvas/, player/, zones/, objects/, hud/, shaders/, store/, data/), every file under 500 lines, content-as-code in typed data/*.ts files, a Zustand store, and post-processing pipeline (bloom, vignette) via @react-three/postprocessing.

Solo across 90+ tickets.

  • Five themed zones, 70+ skill nodes, 12 project showcases, the player controller, all custom GLSL shaders (forge fire, ember particles, zone-specific effects).
  • HUD layer: TopBar, NavBar, Minimap, XPBar, ZoneFlash, DetailPanel, ContextualCTA, IntroTour, ContactModal, ResumeBuilder/Preview, AchievementGallery + Toast, CodexOverlay, ChatPanel, Konami code overlay, screenshot mode with watermark.
  • AI Forge Spirit assistant powered by Claude Sonnet 4 — streamed responses, IP-based rate limiting (10 req/min), curated RAG-style system prompt that deep-links visitors to relevant zones.
  • Interactive resume builder with @react-pdf/renderer for downloadable PDFs, Resend-backed contact form, achievement system with localStorage persistence, full WebGL-fallback 2D portfolio for accessibility.
  • 90+ named tickets across 6 phases plus UX overhaul and engagement waves — every ticket on its own conventional-commit branch with Husky + lint-staged + Jest + Prettier on every commit.

What it's built on.

3D
Three.js · React Three Fiber · drei · postprocessing · GLSL
App
Next.js 14 · React 18 · TypeScript · Tailwind · Framer Motion
State
Zustand 5 · content-as-code in typed data/
AI
@anthropic-ai/sdk · Claude Sonnet 4 streaming
Backend
Vercel · Upstash Redis · Resend · @react-pdf/renderer
DX
Husky · lint-staged · Prettier · Jest · ts-jest

The portfolio that is itself the proof.

Live at rblaylock.dev with no caveats. Five zones, the AI assistant, the resume builder, the achievement system, the WebGL fallback — all shipped. Genuinely strong material for both a portfolio site and a deliberate skill demonstration.