Fetching wpac_database.json — please wait.
Configure your season in Season Set Up, then generate a balanced four-show season here.
Configure your preferences and generate a season.
This tool helps you browse the Westminster play database, generate balanced four-show seasons, and manually build and compare season variations. The four tabs work as a pipeline: Search & Filter to explore the catalog, Season Generator to get auto-built suggestions, Season Builder to compare variations side by side, and How to Use for this reference. Season Set Up (the gear button in the header) holds the program-wide configuration — A-Slot, scale caps, actor pool, exclusions, and balance thresholds — that the Generator and Builder both read from. Each section header below jumps to that tab.
This is your play database browser. Use it to explore the full catalog, narrow the list by any combination of filters, and save plays you are interested in to your Play Bank for later use in the Season Builder.
All filters work together; results update when you press Search or hit Enter from any filter input or dropdown. You can mix and match freely.
Pressing Enter while focused on any filter input or dropdown launches the search — you don't have to reach for the Search button. The page smooth-scrolls down to the results row (skipping the scroll if the row is already on screen) and briefly pulses the result count chip so you can see the search ran. The only exception is the playwright typeahead: if its dropdown is open and an option is highlighted, Enter selects that option instead.
Each result card shows a percentage in the top-left corner. This is the Fit Score: how well the play matches your active filters. Green (80%+) is a strong match, amber is a partial match, and grey is a weaker match. When no filters are active, all plays score 100%.
Use the Sort buttons to order results by Fit score (default), title A–Z, cast size, or production scale. Click the same sort button twice to reverse the direction.
Tap any play card to expand it and see full details: cast breakdown, content ratings, framework categories, period and origin, rights and licensing, learning outcomes, resume value, casting notes, and Westminster production history. Each card also has a "+ Bank" button in the upper-right corner. Clicking it saves the play to your Play Bank, making it available in the Season Builder tab.
Season Set Up is the program-wide configuration panel for a planning year. Open it from the gear button labeled Season Set Up in the page header. It opens as a modal overlay, so you can dip in and out without losing your place in any tab. Both the Season Generator and Season Builder read their defaults from whichever preset is currently active.
All settings are bundled into a named preset so you can keep, say, a "Standard year" preset alongside an "Abbreviated season" or "Lean year (small actor pool)" preset and switch between them in one click. The preset bar at the top of the modal lets you select an existing preset, Save back to the active one, Save As… a new preset, or Delete the active preset (the seed default cannot be deleted). The active preset name shows up as a small label below the mode toggle in the Season Generator and at the top of the Season Builder.
Sets which proscenium semester (Fall 2 or Spring 2) carries the A-Slot, and whether the A-Slot is a Musical or a Heightened Language play. Both Generator modes show a summary card reflecting this choice; the Builder seeds each variation's per-column A-Slot dropdowns from it.
Two filters that govern what the Generator will pick: a maximum production scale (anywhere from "Modest only" through "Any scale 1–5"), and an underrepresented-playwright preference (no preference, at least half, or majority).
Optional caps on the number of actors available this year by gender bucket (men, women, non-binary). Plays whose role demands exceed the pool are filtered out by the Generator entirely; the Builder lets you place them but flags any over-the-cap chip on the variation's balance row. Leave any bucket blank to skip that limit. Non-binary actors fill gender-flexible roles.
A per-show minimum and maximum cast size that bounds every slot's cast slider in the Generator. Default is 2–40 (effectively wide open); tighten only if your year's actor pool is small.
A checkbox to exclude any play produced at Westminster in the last 10 academic years, plus a free-text list of specific titles to also exclude (one per line, exact title as it appears in the database). Both apply to the Generator; locked shows are never excluded.
The green / amber / red thresholds for every balance chip the app shows: season scale total, proscenium load, blackbox load, underrepresented playwright count, and framework mix. Loads use a maximum (lower scores are greener); minimums use a floor (higher scores are greener). A live "In plain English" summary at the top of this section translates your proscenium and blackbox numbers into a sentence about how your year is balanced — "heavier on the proscenium," "identical caps," etc. — and warns you if you accidentally invert green and amber. The same thresholds are read by both the Generator and the Builder when scoring chips.
Click Apply & Close at the bottom to save your edits back into the active preset and close the modal. Cancel discards changes and closes without saving. Either way, the open Generator or Builder tab refreshes to reflect the active configuration the next time it renders.
The Season Generator produces balanced four-show season suggestions automatically, based on the constraints you set. It reads its core configuration — A-Slot, max scale, underrepresented preference, actor pool, exclusions, and balance thresholds — from Season Set Up (the gear button in the header). It has two modes, toggled at the top of the panel.
Every season has exactly four shows in fixed slots: Fall 1 (Blackbox, straight play), Fall 2 (Proscenium), Spring 1 (Blackbox, straight play), and Spring 2 (Proscenium). Exactly one proscenium slot is the A-Slot, which must be a Musical or Heightened Language play. The other proscenium slot is filled with a B/C/D straight play.
In both modes, you designate which proscenium semester (Fall 2 or Spring 2) carries the A-Slot, and whether it should be a Musical or a Heightened Language play. This is set in Season Set Up and shown as a summary card at the top of each Generator mode. The generator enforces this strictly: only one Musical or Heightened Language play is allowed per season, and it must land in the A-Slot.
The generator picks all four shows automatically. Make sure your A-Slot, scale cap, underrepresented preference, and exclusions are configured in Season Set Up, set per-slot cast-size ranges in the Generator panel, then click Suggest a Season. The generator tries up to 300 random combinations and picks one that satisfies all constraints while maximizing framework category diversity. Click Try Another to get a different valid season.
Lock one or more shows you already know you want, and let the generator fill the remaining open slots. Each slot's dropdown opens with five framework placeholders at the top, marked with a ◇ (e.g. ◇ Acting Styles & Period (B)) — pick one to hold a slot for a framework category before you've chosen a specific title. Below the placeholders are your bank plays. Placeholders that don't fit the current slot are greyed out with a tooltip explaining why. Leave any slot set to "Leave open" and the generator will fill it. Cast size sliders for locked plays auto-fill from the play's data and become read-only; placeholders leave the sliders editable since there's no concrete cast yet.
Two exclusion controls live in Season Set Up → Exclusions. The "Exclude plays produced in the last 10 academic years" checkbox hides anything Westminster has staged recently. The "Also Exclude These Titles" textarea takes a list of exact titles (one per line) you want to skip — useful for plays nearby universities are producing this cycle, or that you are setting aside for a future year. Locked shows are never excluded by either control.
After a season is generated, a row of colored chips summarizes the season's balance: underrepresented playwright count, framework category diversity, A-slot coverage, production scale totals for the full season, proscenium load, and blackbox load. Green chips are on target; amber chips are borderline; red chips indicate a potential concern. Thresholds for every chip live in Season Set Up → Balance Targets.
Underneath the generated season, a share bar offers Copy to Clipboard (a plain-text summary you can paste into an email or doc) and Print / Save PDF (uses your browser's print dialog — choose "Save as PDF" as the destination for a PDF file).
Each show in a generated season result is clickable. Clicking it opens its full detail card. To move shows into the Season Builder, save individual plays to your Play Bank using the "+ Bank" button on their detail cards in Search & Filter, then build your variations manually in the Builder tab.
The Season Builder lets you manually assemble up to three side-by-side season variations for direct comparison. It is useful when you want to weigh different combinations of shows rather than accepting an auto-generated suggestion.
The Play Bank at the top of the Builder holds any plays you have saved from the Search & Filter tab. Tap the dark header bar to open or close the drawer. Each bank entry shows the play's title, playwright, venue fit, and show type. The number badge on the header and on the "Season Builder" tab shows how many plays are currently in the bank.
When the bank has plays in it, an export bar appears at the top of the open drawer with two options:
There are two ways to place a play into a variation slot. First, tap a play's "Place" button in the Bank drawer: a placement overlay appears showing all three variations and all four slots, with each slot marked as eligible, ineligible (with a reason), or occupied. Tap an eligible slot to place it. Second, tap an empty slot card directly in a variation column: a picker overlay opens with two tabs — "From Bank" shows your saved plays that are eligible for that slot, "Search Database" lets you search the entire database for an eligible match without first saving it to the bank.
Each variation column has its own A-Slot semester and type dropdowns. This lets you compare, for example, a season where Fall 2 is the musical against one where Spring 2 is the musical. Check "Apply A-Slot to all variations" on any column to push its A-Slot settings to the other two. The default A-Slot for new variations comes from Season Set Up.
The Builder treats show-type rules as hard limits and venue fit as a soft suggestion. Show-type rules can't be overridden: musicals can't be placed in Blackbox slots, the A-Slot only accepts the designated show type (Musical or Heightened Language), and the other proscenium slot only accepts straight plays. Venue fit is more flexible — placing a play whose venue tag doesn't match the slot is allowed, but the slot card will show an amber "Venue mismatch" warning so you can confirm the scale before scheduling. Hard show-type violations show a red conflict warning and disable the placement button; soft venue mismatches stay clickable. If a play placed earlier becomes invalid after you change the A-Slot configuration, the slot card updates accordingly.
On small screens the three variation columns are hidden behind tabs labeled Variation 1, 2, and 3. Tap a tab to switch between them. On wider screens all three columns display side by side.
Below each variation's slots, the same balance chip system used by the Season Generator evaluates your hand-built season in real time: fill count, underrepresented playwright count, framework diversity, A-slot coverage, and scale loads. These update automatically as you add or remove plays.
A share bar at the bottom of the Builder lets you Copy All Variations to Clipboard as plain text, or Print / Save PDF using your browser's print dialog. The print view automatically lays out the three variations in a side-by-side grid suitable for handout-style review.
To remove a single play from a slot, tap the small × button in the top-right corner of that filled slot card. To clear all four slots in a variation at once, use the Clear button in the variation's header bar. To remove a play from the bank entirely, tap the × button next to it in the Bank drawer.
Every generated season and every Builder variation is scored against the same set of balance dimensions. The chips that appear under each season are not pass/fail grades — they are a dashboard. Green means on-target, amber means watch this, red means there is a real problem worth looking at before committing. You can tune the green/amber/red thresholds per preset in Season Set Up → Balance Targets.
Every play has a production scale from 1 (minimal) to 5 (full / ambitious). The next three chips track how that load distributes across the season.
A season totaling 12/20 sounds balanced — but [5, 1, 5, 1] and [1, 5, 1, 5] both total 12 and look identical to the season-total chip. The first is Blackbox 10/10 (a brutal blackbox crew year); the second is Proscenium 10/10 (a brutal proscenium crew year). The split chips surface the imbalance the total hides.