The Drama Nerds Database

About The Drama Nerds Database

A catalogue of Broadway and West End theatre history, and everything that documents it: the shows, the productions, the people who made them, the theatres they played in, and the recordings that survive. Named this in decisions.md §25, its third rename since this project began, correcting decisions.md §23's singular "Drama Nerd" to the plural, to match a domain the owner already owns.

The question this exists to answer

Pick up a cast recording and you can usually find out what show it is. What you often cannot find out is which production it documents.

That sounds like a small distinction until you try to use it. Hello, Dolly!'s original Broadway production produced at least three recordings across six years, with different casts. Chess has seventeen recordings, and one of them bills itself as the "1984 London cast". There was no 1984 London production. Somewhere between the sleeve and the truth, the thread gets dropped.

Nobody has that thread in a form you can get at. CastAlbums.org has been running since 2006 and holds 48,241 recordings across 12,640 shows, which is a remarkable achievement, but it keeps the production as free text tucked after a > in the recording title. MusicBrainz credits the composer and drops the cast entirely; ask it about either Kiss of the Spider Woman recording and it returns "John Kander" as the only performer. Ovrtur holds the join properly and charges a subscription with no way to export.

So the gap is not that nobody catalogues cast albums. Plenty of people do, and some of them do it very well. The gap is the join between a recording and the night it came from.

Chasing that join leads somewhere bigger. You cannot say what a recording documented without holding the productions, and once you hold the productions, you find that most of them were never recorded at all. Thousands of nights of theatre with nothing left but a programme and a cast list. That is why this is a catalogue of theatre history rather than of records.

What it holds today

Measured against web/site.sqlite3, 2026-08-27 (re-measured same day: broadway-data's own upstream data moved under a rebuild, and a recordings backfill landed, both after the morning's numbers were written down).

Shows10,373every work a production points at. 1750 to 2027
Productions13,401every staging, in scope or not
Of those, in scope1,724belonging to one of the 935 shows curated before the 25 August 2026 promotion; see docs/model.md
Works10,298titles a production can point at, all of them promoted into Shows
People7,369performers, writers, designers
Venues352theatre buildings
Albums4,074up from 237 as of tonight's recordings backfill
Images11,336sleeves, portraits, venues, playbills
Cast credits220,017person to production, across 9,019 shows; every promoted show included, not only the originally curated set
Licensing records939who licenses the show for performance

Read productions against albums above: a real recordings backfill tonight, but still, of 10,373 shows, only 565 have any recording at all. (docs/routes.md's coverage panel carries the same figure). Recordings are still the thinnest part of this catalogue by coverage even though the raw album count is no longer the smallest number on this page, and they are still the part the central question depends on. docs/model.md sets out what it costs.

Who runs it, and what kind of project this is

One person, as a personal project. It is free, there is nothing to buy, and there is no advertising. Anyone can correct it (see contributing), and corrections are where most of the improvement comes from.

decisions.md §18 settles how to think about what results. The material above (broadway-data, Commons, archive.org, library and museum collections, MusicBrainz, published scripts and libretti, 178 books of excerpts) was gathered from many places, and what results from compiling and citing it is ours, the way an archive owns its holdings even though every item in it originated somewhere else. This project is not positioned as a bigger or friendlier alternative to CastAlbums.org or IBDB. It is positioned as a research institution: sourcing and citation are the argument for trusting it, not a caveat sitting next to a scale claim.

There is more about how your data is handled on the privacy page, and what you may do with the catalogue on the terms of use.


For anyone reading the code

Everything below is written for somebody working on the site rather than reading it.

The shape of the system

/Volumes/Desiree/broadway-data          read-only. Not ours.
        │
        │  tools/site.py  load()
        ▼
  in-memory dataset  ── overlay, image index, production grouping
        │
        │  tools/build-db.py
        ▼
  web/site.sqlite3   ── one file, every table, full record kept as JSON
        │
        ├─ web/app.py              Flask. Routes and view logic
        ├─ web/collections_spine.py  the editorial layer
        └─ web/templates/          all markup

Nothing in web/templates/ knows anything about broadway-data. That is the rule the whole layout exists to enforce, and web/app.py's own docstring explains what it was like before: markup lived in Python f-strings interleaved with the logic that decides which productions are duplicates, which made every design change a Python change.

Where to go next

  • docs/model.md: the tiers, the tables, identifiers, and how data gets in
  • docs/routes.md: every URL the site serves and what it does
  • docs/collections.md: the editorial spine, and why a collection can be cut
  • docs/images.md: the picture programme, its rights position, and blurring
  • docs/contributing.md: the contribution loop, both directions
  • docs/scope.md: what this deliberately does not do, and why
  • docs/in-flight.md: what is being built right now, and what is not true yet

The research record sits in findings/, the settled decisions in decisions.md, and the model with its hard cases in schema.md. Those are sources. This is documentation, and where the two disagree the code wins and tools/doccheck.py is supposed to say so.