Skip to content
← IndexWebsite / 2026
01Case study

Vampire Sex

A proof-first artist site

An artist site where every credential sits next to the evidence behind it.

Note — Built for a two-person act I am half of.

Role
Design + Build + Infrastructure
Year
2026
Category
Website

Stack

  • Next.js
  • TypeScript
  • Tailwind CSS
  • OpenNext
  • Cloudflare Workers
  • GSAP
  • Supabase
  • Resend

02The problem

Artist sites ask a buyer to believe a logo wall. A release on a label and a one-off guest slot look the same in a grid, so experienced buyers discount all of it.

This act had real, checkable credentials, and the standard layout flattened them. It also had one claim the usual format gets wrong: a distributor is not a label, and listing one under "released on" is an error anyone in the industry spots.

03Build

Each claim and its backing are one unit. The label list was built from a full crawl of the act's own release catalogue, so every name on it traces to a record, not a logo file. The distributor gets its own credit line, outside that list.

A sources page carries the working and says what kind of evidence backs each entry: a catalogue record for a release, a flyer for a date. Claims that could not be sourced were left off.

The site is Next.js on Cloudflare Workers through OpenNext, with Supabase for data, Resend for email and GSAP for motion. Motion sets the reading order, so the proof arrives after the claim it supports.

  • UI / UX
  • Frontend Engineering
  • Brand Systems
Rendered in the site’s own palette, because on a website case study the look is the deliverable.

04Result

Live at vampiresex.world, with a shop, fan accounts and a playable game on the same domain. No audience or streaming figures are quoted here.

05Role

Conceived
  • Putting the evidence next to each claim, and a sources page as a real destination.
  • Separating the distributor credit from the label list.
Designed
  • Page order, typography and motion.
Specified
  • The rule that a claim ships only with its evidence attached, and anything unsourceable gets dropped.
  • The full catalogue crawl as the method for the label list, rather than assembling it from memory.
  • Acceptance of the motion order, so proof lands after the claim it backs.
Agent-written
  • Much of the code was written by AI coding agents under my direction and review.
External systems
  • Next.js, React, Tailwind CSS, GSAP.
  • Cloudflare Workers and OpenNext. Supabase. Resend.