The Drama Nerds Database
A theatre research site built with AI agents in four days, and read two million times in its first nine weeks

In its first nine weeks, dramanerds.com served just under two million requests. Two thirds came from named crawlers, the search engines and AI agents the site was built to be read by. The rest came from people, who opened 74 accounts, built 212 lists, and put 16 names on a newsletter that hasn't sent an issue yet. Nobody was sent there. They found it.
The written brief is dated August 10. The site and its free, keyless API were live by August 16. I built it with Claude Code and twelve agents I defined for the job. Over those four days that was 7,865 messages across twenty-one sessions. I directed, and the agents wrote the code.
The question it answers is small and open everywhere else: which production does this recording document? CastAlbums.org holds 48,241 recordings and keeps that join as free text after a chevron. MusicBrainz lists a "1984 London cast" of Chess. There was no 1984 London production.
The part worth studying is how the work was split. Every design rule, every sourcing rule, and every naming decision was mine. The research, the reconciliation, and the typing were the agents'.
The question
Which night does this record come from?
Before a line of design, the agents spent a day on research and wrote seventy-four findings files. The gap they found was narrower than I expected. Cataloguing cast albums is a solved problem; CastAlbums.org has done it since 2006. What nobody holds is the join between a recording and the staging it came from. A librarian at the University at Buffalo publishes a checklist for confirming an original cast recording by cross-checking four separate sources by hand. A question about it has sat on MusicBrainz's own forum since 2017 with no reply. The fans are careful. The reference data they are handed is where the errors live.

How it was built
Four days. Twenty-one sessions. Twelve agents.
I ran the build the way I run a design team. Each agent got a job title and a remit: image sourcing, licensing rights, UX architecture, design critique, venue history, and seven more. A start-here file tells any fresh agent to read four documents in order, which takes ten minutes and replaces a very long conversation. A decisions file holds the settled calls and is the authority on anything it covers. A night file greets me each morning with the three things that changed while I slept.


On the afternoon of August 16, seven agents were building at once and the route count went from 14 to 115 while I watched. Early on, the whole site regenerated from the data in 3.3 seconds, so an agent could rebuild after every change and check its own work.
The transcript of those four days runs to 7,865 messages across the main session and twenty agent sessions. It is kept in the repo as evidence, because every correction was made in the open and a later agent can read why.
A documentation check runs after any change and fails the build when the docs and the code disagree: a route nobody serves, a counted claim that no longer matches the database, a decision that nothing documents. The agents wrote the product documentation, and the check keeps them honest about it.
Accounts, lists, favourites, a contributor licence, a moderation queue, a newsletter, an API with per-field licensing, and legal pages with their own test suite all shipped inside the same week. The test counts are in the resume file, green, next to the list of things waiting on me.
What I did
The rules were mine.
The agents are fast and they are wrong in specific ways, so the rules are where my time goes. The decisions file holds twenty-five of them, most written after an agent got something wrong. They read like direction to a team, because that is what they are.
The brief is a starting position, not a decision. The first line of the original brief told the agents to pressure-test the data model rather than build it. They did, and the model that shipped splits works from productions, which is the whole point of the site.
Every factual claim carries a source. A claim you cannot source is a hypothesis and gets marked as one inline. Absence of evidence is itself a finding. The result is a catalogue where every date, credit, and venue carries where it came from.
We own our dataset. We are a research institution. That decision set the image policy, the licence, and the tone. Facts are released free, forever, with no conditions. Prose and pictures carry their own terms, field by field, so the API never claims rights it doesn't have.
There are never to be em-dashes anywhere in this site. A design-rules test enforces that and the other voice calls, with a note at the top: do not edit a rule out to make it pass, because the owner set every one of them after an agent broke it.

Keeping it honest
The data audits itself every six hours.
The data layer is its own repository, seven months old, with 356 commits and 299 of them co-authored with Claude. Twenty-one automated workflows keep it current. An audit worker runs every six hours, fixes a record on its own only when Wikipedia and IBDB agree, and flags everything else for me. Its first full pass made 83 fixes across 13,326 productions. A validator runs on every push and refuses dates out of order, credits outside a person's lifespan, and references that point at nothing.

Built to be read
By people, and by agents.
Most of the first visitors to a new reference site are not people. They are the crawlers behind search engines and AI assistants, and the catalogues this one competes with hold their data behind subscriptions or free-text fields those crawlers cannot use. I designed for the machine reader from the start. Every page is server-rendered HTML with the facts and their sources in the markup. The documentation is served on the site itself. The API needs no key, answers in plain JSON, and labels every field with its licence. The robots policy blocks the two edit forms and nothing else.
The page log holds 1,972,001 requests between August 17 and October 19, and 1,273,239 of them came from crawlers that identify themselves as crawlers, search engines and AI agents alike.
Google sends most of the human traffic, and the first referrals from chatgpt.com and gemini.google.com have arrived, which is what a site built for agents is supposed to produce.
Production pages are what people read most, then people, then shows. Readers built 212 lists in nine weeks without being asked to, which is the behaviour the collection feature was designed around.
The human numbers are small and real. The machine numbers are large and were the plan.
Two million reads before the first newsletter went out.
Outcome
I have built reference sites by hand, and I know what this one would have cost me: a season for the site and longer for the data, with no API at the end of it. Directing agents gave me the site in a week and a dataset that checks itself while I sleep. The time I got back went where it belongs, into the decisions only I could make.
Takeaways
- Self-initiated · dramanerds.com
- 2026
- Arts and Culture
- AI
- Founder
- Product Direction
- AI Workflow Design
- Design
- AI Workflow Design
- Product Design
- Information Architecture
- Research Direction
- Claude Code (Anthropic)
- Twelve purpose-built agents
