Skip to content

Side project

Headliner.
An experiment in building with AI.

I wanted to find out how far one person could take a real product by building alongside AI. The answer became Headliner: a website platform for bands and artists, now live at headliner.band.

What it became

A real platform,
not a prototype.

A real site on the artist’s own domain that keeps itself current. Designed, built and launched on my own.

  • Multi-tenant: every artist gets their own site, domain and dashboard
  • Postgres on Supabase, with row-level security keeping each account's data its own
  • Stripe subscriptions and billing; transactional email with Resend
  • Syncs releases, videos and tour dates from Spotify, YouTube and Bandsintown
Visit headliner.band (opens in a new tab)
Commits
933
Of active build
7 weeks
Database migrations
34

How it was built

One person,
working with AI.

  • Claude Code at my side

    I used Claude Code to plan features, write and review code, and work through bugs. It moved fast; I decided what shipped.

  • Agents for review

    Separate agents, each with one brief, reviewed the work for security, SEO and accessibility in parallel. I've since used the same approach to audit this site.

  • Tested in every engine

    Key pages were rendered in Chromium, WebKit and Firefox at phone, tablet and desktop sizes, in both orientations, rather than assuming Safari behaves like Chrome.

  • Rules the AI had to follow

    A written standard for branches and releases, security, accessibility and performance. The more specific the rules, the better the work that came back.

What I learned

What the experiment
taught me.

  1. AI is fast. Judgment still decides what ships.

  2. Clear written rules beat clever prompts.

  3. Check the result, not the claim. AI can be confidently wrong.

  4. Previews and a ready rollback make moving fast safe.

Also built

Other things
I’ve built.

  • In development

    Up North client portal

    A monorepo platform for client accounts: multi-tenant Postgres with row-level security, features switched on per organization, and sign-in behind its own interface so the provider can change.

  • In use

    Proposal builder

    A private tool that turns a scoped project into a client-ready proposal, with an Airtable dashboard behind it.

  • On this site

    Live Google reviews

    Reviews read server-side from the Google Places API, cached hourly and shown across the site, so they are always current and never slow a page down.

  • In use

    Showcase generator

    Config-driven, branded images of finished client sites for Google Business Profile and Instagram, captured with real device emulation and rendered at 2×.

What it’s built with.

  • Claude Code
  • Next.js
  • React
  • TypeScript
  • Supabase
  • Postgres
  • Stripe
  • Resend
  • Playwright
  • Vercel