Skip to content
← IndexAI System / 2026
04Case study

ArtistDeck

Evidence-graph EPK generator for musicians

A press-kit generator where every published claim has to trace back to a verified source before it can ship.

Role
Product Direction + Architecture
Year
2026
Category
AI System

Stack

  • Next.js 15
  • TypeScript
  • Supabase
  • Postgres RLS
  • Tailwind CSS
  • Stripe
  • Playwright
  • Multi-provider LLM chain

System Trace

The path from the real brief to the result, with no simulated agent status.

  1. 01

    Brief

    Press kits that cannot carry a claim nobody checked.

  2. 02

    Structure

    A provenance-tracked evidence graph; the EPK, PDF and buyer kits are views of it.

  3. 03

    Verify

    Both known failure classes are blocked at the write path and covered by tests.

  4. 04

    Shipped

    Live and pre-launch, so no user or revenue figures are claimed.

02The problem

An independent artist rebuilds the same press kit every time a promoter asks, and it is stale by the next release. Tools that promise to fix that write confident copy and check it against nothing, so the failure is not a clumsy sentence. It is a false credential sent to a buyer.

This project produced two of those before the rule that prevents them existed. A distributor was stored as a record label. A copyright line wrote an artist's legal name into a public field, for an artist who performs under an alias. Both rows were marked verified.

03Build

Setup is a name. The system searches Deezer, SoundCloud, Apple Music, Last.fm, YouTube, Mixcloud, Bandcamp, Resident Advisor and Linktree, and the artist confirms or drops each match before anything is written. A wrong match at the first step contaminates the whole profile.

Claims are ranked by how close the source sits to an explicit statement. A label field or a Discogs credit is strong. A copyright line or a distributor credit is weak, and a weak claim stays at needs-source until a different, strong source confirms it. A name filter was the obvious fix and was rejected, because it catches nothing when the artist uses an alias.

It runs on Next.js 15 and Supabase Postgres, with row-level security doing access control. Generated copy is checked against content rules and regenerated when it fails.

  • AI Systems
  • Product Design
  • Frontend Engineering
  • Prototyping
The product running. Copy is drawn as bars so the demo states no invented figure.
Product page section headed "Built around proof. Not around hype." with four cards describing the proof score, four buyer lenses, the claim review queue, and buyer-specific kits.
Every achievement carries a verified, internal or needs-source status. A buyer sees only what holds up.

04Result

Live at app.artistdeck.press. Both failure classes are blocked at the write path and covered by tests, and a row holding a person's legal name is deleted rather than downgraded.

The product is pre-launch, so no user or revenue figures are shown.

05Role

Conceived
  • The product thesis: the verified evidence graph is the asset, and every kit is a projection of it.
  • Corroborate-then-promote as the provenance rule, after rejecting a name filter.
Designed
  • The press-kit design system, its print export, and the content rules the generator enforces.
Specified
  • The schema, the access-control model and the provenance rules, specified to the point of being testable.
Agent-written
  • Most implementation code was written by AI coding agents from my specifications and under my review.
  • Bios are model-generated on request, then checked against the content rules and regenerated when they fail.
External systems
  • Next.js, React, Tailwind CSS. Supabase, Stripe, Playwright.
  • Hosted model APIs on a fallback chain. MusicBrainz, Discogs, Beatport and Spotify as source data.