hwb2 | Portfolio

studio.hwb2.com

A modern, AI-native ed-tech studio site. Designed, built, and shipped in half a day.

Role
Solo build with Claude Code as collaborator
Year
May 2026
Status
Live
Links
Live site
studio.hwb2.com homepage

The problem

I was launching hwb2 | Creative, an ed-tech studio with three sub-brand verticals (Learning, Consulting, Development), and I needed a site that could carry the business from day one. The old hwb2.com was a Jekyll portfolio site that didn't say anything about who I'd become. The new site needed to be a real studio site: a clear home, a services page that handled three audiences without splitting into three sub-sites, an About that introduced me as the studio's owner, and a contact form that actually worked.

I'd never shipped a Next.js site before. The framework I knew best was Jekyll: fine for a static portfolio, wrong for what I needed now. I wanted Vercel hosting, App Router conventions, a clean Tailwind design system, and a contact form wired to Formspree. The fastest honest path to that was to direct Claude Code through the build and review what it produced.

What I built

A four-page Next.js site (Home, Services, About, Contact) deployed to Vercel at studio.hwb2.com. The Services page presents all three sub-brand verticals on a single page rather than splitting them into separate sub-sites; the through-line of the business is more important than any one vertical's standalone marketing. The contact form posts to Formspree, which lets a sole proprietor handle form submissions without setting up a backend. The design system is type-led (Inter sans, pure black on pure white, a forest green accent, sharp corners, thin gray borders, generous whitespace), and it carried forward into the portfolio site (the one you're reading right now).

The whole thing went from empty repo to deployed, working production site in roughly half a day.

Key decisions

One Services page, not three sub-sites. The three verticals share ownership, finances, operations, and an underlying skill set. Splitting them into three sub-sites would have told prospective clients to pick a lane before they understood the studio. One page that names all three lets the reader see the through-line.

Formspree for the contact form, not a custom backend. A custom form handler would have meant standing up a server, writing an API route, handling spam filtering, and managing my own logs: work that has nothing to do with the studio itself. Formspree handles all of that for $10/month, with a free tier that covers the volume I'll see in year one.

Next.js, despite never having shipped it before. I picked Next.js because Vercel is the hosting platform people in my network use, the framework is maintained by the team that built the hosting platform, and Claude Code knows it cold. The unfamiliarity was the risk; the AI collaboration was the mitigation. A different stack might have been faster for me to write alone, but the goal was to ship a production site, not to optimize for what I could type from memory.

The studio repo is private. Early commits include business-specific copy, contact form configuration, and decisions I'd rather not air. Private now, possibly opened later if there's a reason to.

How it works

The working pattern was simpler than I expected.

I directed; Claude Code wrote most of the code. The split worked because I know enough about code and coding to know what to ask for, how to read what came back, and how to use the tools (the Claude Code CLI, git, the Next.js dev server) to keep moving. I couldn't have built this without Claude Code. But Claude Code couldn't have built it without me, either, because nothing about what to build, how to talk about the studio, or what the site needed to say was in its head until I put it there.

Build sessions were mixed. Some were structural ("set up the App Router, build the layout, wire up the global nav") where I'd describe the desired architecture and Claude Code would generate the scaffolding. Some were feature-driven ("add a contact form that posts to Formspree") where I'd describe the desired behavior and Claude Code would implement it. The transitions between modes happened naturally; the case study isn't a methodology, it's a working rhythm.

Reviewing the output was the part that required real attention. I pushed back on visual decisions (spacing, color choices, the hierarchy of the Services page), architectural decisions (component boundaries, file organization), bugs (things that compiled but didn't work the way I'd described), and voice (copy that was technically correct but didn't sound like the studio). Each push-back was a small specification (not that, this) and Claude Code would adjust. The half-day shipped because the review cycles were tight, not because the code was generated faster than I could read it.

What I'd change

The site describes the studio, but it doesn't yet show what the studio has done. Services lists three verticals; About introduces the owner; Contact lets someone reach me. There's no "recent work" section, no case studies for past projects, no real evidence beyond the site's own existence. That's defensible at launch (pre-revenue, the case studies don't exist yet), but the next meaningful update to the site is to add work as it accumulates. Until then, the site is a promise. The portfolio you're on right now is the first piece of evidence that backs the promise up.

Stack and links

Built with Next.js (App Router) and Tailwind, hosted on Vercel, with Formspree handling contact-form submissions. Designed and developed in collaboration with Claude Code over roughly half a day in May 2026. The repo is private.

Live at studio.hwb2.com.