// case study
Business Therapy & Advisory
Marketing site for a business advisory firm — 50-state LLC formation, built with Claude Code
- Year
- 2026
- Role
- Solo developer — full build including per-state landing pages, contact + lead-capture flows, and schema coverage.
- Status
- Live
www.businesstherapyadvisory.com

// in plain english
A small business advisory firm helps people set up LLCs and corporations. I built their website: pages that explain the service for New York and ten Rochester-area towns, and a contact form that sends each inquiry to the firm with the details they need. There is no live chat, because a small firm cannot staff one.
// about this project
What it does and how I built it
A marketing site for a business advisory firm specializing in LLC and corporation formation across all 50 U.S. states. LLC formation landing pages for New York and ten Rochester-area towns are tuned for local SEO, with Resend-powered contact forms and full schema coverage with Breadcrumb, Service, FAQ, Article, and LocalBusiness JSON-LD on every page. Built end-to-end with Claude Code.
My role: Solo developer — full build including per-state landing pages, contact + lead-capture flows, and schema coverage.
Built under ROC Web Tech, the web studio I founded.
// decisions
Per-state landing pages instead of one filterable hub
Search intent for "form an LLC in [state]" is fundamentally per-state. A filterable single-page hub ranks worse than dedicated URLs because Google attributes anchor authority per-URL, not per-section. Cost: far more content effort. Today New York and ten Rochester-area town pages are indexed; pages for other states stay noindex until each one has real state-specific content.
Resend-powered lead capture with structured contact intake
A small advisory firm cannot staff a live-chat queue. Inbound leads route through Resend emails so qualified prospects land directly in intake with full context. Cuts handoff friction without overselling availability.
Typed per-state data and a tested contact form
Every state record is typed to carry its filing fee, filing agency, and agency URL, so a state page cannot build with a missing field. Vitest covers the contact form’s Zod validation and the API route behind it. Security headers (CSP, HSTS, Permissions-Policy) are set in the Next.js config.
Built end-to-end with Claude Code
Claude Code drove the scaffold, the per-state content templates, the schema coverage, the Lighthouse fixes, and the deploy pipeline. The site is hand-shipped — no AI runs inside it at request time.
// highlights
- LLC formation landing pages for New York and ten Rochester-area towns
- Resend-powered contact + lead-capture forms with structured intake
- JSON-LD on every route — Organization, Service, FAQPage, BreadcrumbList, LocalBusiness
- Sitemap submitted to Google Search Console and auto-pinged via IndexNow
- Audit fixes for performance, accessibility, and schema shipped before launch sign-off
- Built end-to-end with Claude Code
// what I’d do differently
Templated state pages taught me that generating pages at scale is the easy half — making each one worth ranking is the hard half. Today only New York and ten Rochester-area town pages are indexed; the other state pages are set to noindex. I would invest in genuinely per-state data (filing fees, processing timelines, state-specific requirements) before generating a single page. Programmatic SEO is only defensible when every page earns its differentiation.
Stack
- Next.js 16
- React 19
- Tailwind CSS 4
- Resend
- Vercel
AI Tools
- Claude Code
Built with AI as a force multiplier — scaffolding, research, automation, and code review all flow through these tools in my daily loop.
// gallery
Screenshots
Toggle between desktop and mobile views.
Desktop · 1440 × 900
// let’s build
Want this on your team?
I design, build, and ship production AI and web systems end-to-end — and I’m looking for a full-time AI engineering role to do it on a team.