erikunha.dev
Single-page Next.js 16 portfolio deployed to Vercel (Fluid Compute). RSC-first composition of ~18 sections with client islands by exception, a streaming LLM endpoint, a durable contact form, and a CI pipeline that enforces performance, accessibility, and bundle size as hard contracts.
Live: erikunha.dev
This is Erik Cunha's hiring artifact for Staff/Principal frontend and applied-AI roles. The codebase demonstrates the engineering it claims — a site that says "performance-first" but ships a 400 KB JS bundle is self-disqualifying. Every architectural decision is documented in ARCHITECTURE.md with trade-offs and reversibility notes.
The AI centerpiece is a streaming ask endpoint (Vercel AI Gateway + Anthropic Haiku 4.5, prompt-cached, rate-limited, budget-capped) with a correctness eval suite and a visible metrics panel — making AI quality observable to hiring reviewers. Agent-readiness surfaces include /.well-known/agent.json and a minimal MCP server.
Stack
Quickstart
git clone [email protected]:erikunha/portfolio.git
cd portfolio
pnpm install
cp .env.example .env.local # fill in API keys
pnpm dev # http://localhost:3000
pnpm test # unit tests (vitest)
pnpm test:e2e # Playwright E2E + a11y
pnpm build # production build
The static page renders without environment variables. Runtime endpoints (/api/ask, /api/contact, /api/lighthouse) error until keys are set. See .env.example for the full variable list.
Reference docs
License
Source code: MIT. Content (copy, CV data, opinions, biographical material): all rights reserved. Forking to learn from the architecture is welcome; replacing my name with yours is not.