← All case studies
Flagship

Lions of Fire

Bay Area band · Public EPK + admin · Operator-managed media · 13-tool copilot

Niche
Band / artist
Built in
6 days
Admin tools
13
Public pages
6
Lions of Fire homepage with hero band photo and CTAs

lionsoffire.com · homepage

The brief

Lions of Fire needed a real EPK (electronic press kit) for booking outreach. Not a Squarespace page. Not a Linktree. Venues and promoters expect to land on an EPK and see press quotes, photos, video embeds, and a contact path. The band also needed an admin so the lead singer could swap the hero photo, edit the bio, and respond to booking inquiries without pinging a developer.

Disclosure: this is my own band. Which means I get to dogfood every shipped feature. If the admin is annoying to use, I'm the one who has to use it.

What ships in the build

Lions of Fire /listen page with embedded performance videos
/listen · embedded performance videos
Lions of Fire /epk page with downloadable press kit, stage plot, and tech rider
/epk · downloadable press kit

Public site (6 pages)

  • Home: hero photo, tagline, latest video embed, upcoming shows, EPK CTA
  • EPK: full press kit with bio, photos, press quotes, video embeds, downloadable assets
  • Shows: upcoming dates with venue links
  • Reviews: moderated, public-facing fan and press review submissions
  • Press: quotes pulled from /reviews when approved
  • Contact: booking inquiry form with niche-specific intake fields
Lions of Fire operator console with bookings, shows, reviews, content, audience, pipeline, media, copilot, and emails tabs
/admin · operator console (10 tabs · sonnet 4.6 copilot)

Operator admin

  • /admin/login with HTTP basic auth (per-site rotating password)
  • Bookings tab: inbound booking inquiries with reply-status tracking
  • Audience tab: Google Places + Perplexity + Apollo + curated venue catalog for outbound prospecting
  • Pipeline tab: staged venue leads with deep-crawl email enrichment, status moves, and compose buttons (Gmail / Outlook / native mail)
  • Reviews tab: moderate fan and press reviews from pending to approved with audit trail
  • Content tab: edit every public-site headline, paragraph, and meta description without redeploying
  • Media tab: upload band photos, link YouTube/Vimeo embeds, swap hero photo slot
  • Subscribers tab: fan email list with rate-capped announcement sending
  • Copilot tab: Sonnet 4.6 chat with 13 bounded tools (list bookings, draft reply, schedule show, send announcement, moderate review, edit content block, set hero video, etc.)
  • Emails tab: Resend send log with rate caps and failure reasons

Infrastructure

  • Next.js 16 App Router + Tailwind 3
  • Supabase Postgres + Storage (media bucket, public-read, 50 MB cap, image+video MIME whitelist)
  • Resend on the band's verified domain, with single-chokepoint email send, per-category rate caps, and audit log
  • Sentry (client, server, edge) with source-map upload guarded on env presence
  • Vercel Cron (daily booking-inquiry reminder + daily operator digest at 8am PT)
  • n8n workflow templates bundled in-repo as a migration path off Vercel Cron
  • JSON-LD MusicGroup schema for Google rich results

What makes it the flagship

Three things distinguish the Lions of Fire build from a standard small-site project:

  1. 01

    Slot-based media addressing

    The band wanted to swap photos seasonally without pinging me. So media is addressed by slot: hero-loop, band-portrait, photo-grid, and so on. The lead singer uploads a new photo in /admin/media, picks the slot, and the public site immediately renders the new image. Fallbacks to /public/<asset> mean day-one sites work before any uploads happen.

  2. 02

    DB-backed editable copy on every block

    Every user-facing string (hero headline, EPK bio, story paragraphs, press section title, footer tagline, even the SEO meta description) is stored in a site_content table with one-step undo and a registry of defaults. The admin Content tab lets the band edit any of them. No redeploy needed.

  3. 03

    13-tool operator copilot

    The hardest part of running a band's online presence is the back-and-forth between 'I should reply to that promoter' and 'OK now I have to log in, find the booking, draft a reply, send it.' The copilot collapses that into a chat. 'Reply to the Slim's promoter saying we'd love to play April 12'. The copilot finds the booking, drafts the reply in the band's voice, and waits for the operator to confirm before sending.

Why this matters for your build

Your niche is different. You probably don't need slot-based media addressing, or an EPK, or a 13-tool copilot specifically for booking inquiries.

But you almost certainly need some version of operator-managed media, some editable copy without redeploys, and some shape of operator copilot tailored to your workflow. The Lions of Fire build proves the pattern works end-to-end. Your build adapts the pattern to your niche.

Ready to scope yours?

Tell me what niche you're in and what features you need. I'll quote it and we'll ship it.