Built in public, one prompt at a time.
Every line of code on this site was written in natural language. No manual syntax, no context switching between my IDE and the AI—just prompts, reactions, and refinements. The portfolio was built mostly with Claude Code, with help from Codex and Gemini 3.1 Pro for smaller features and testing. The project became a living experiment in vibe-coding: Can you build something genuinely complex and delightful without ever touching the keyboard to write code directly? The answer is yes. And the site itself is the evidence.
This page documents the build—the stats, the workflow, the architecture, the decisions. It's meta on purpose. The site that showcases projects is itself a project worth showcasing.
Problem or feature identified
All ideas start here. Problems are identified, features are designed, decisions are made about what to build.
Each layer is independent yet connected. Code flows from development through CI/CD into production runtime on Vercel and Cloudflare Edge.
| Aspect | Choice | Reasoning |
|---|---|---|
| Framework | Next.js 15 | RSC, SSR, and edge functions |
| Styling | Tailwind CSS | Utility-first, performance, consistency |
| Hosting | Vercel | Optimized for Next.js, edge functions, ISR |
| AI Dev | Claude Code | Zero-manual-syntax, vibe-coding approach |
| CI/CD | GitHub Actions | Native GitHub integration, free tier |
| Design System | CSS Variables + Tokens | Scalable, maintainable, theme-agnostic |