Borealis

half-built · laravel · 2025

Fifteen years of royalties, carried forward not rewritten

YouthPLAYS, United States

A theatrical licensing marketplace rebuilt on top of its own fifteen-year-old database, so nothing had to be migrated and nothing stopped selling.

The operation

YouthPLAYS is a US publisher of theatrical works for young performers. Schools, community theatres and educational institutions buy performance rights, scripts and related materials through it, and playwrights earn a commission on every sale.

The problem

The platform already worked. It had been running since around 2009, on a PHP codebase and a MySQL schema that had grown for fifteen years, and it held more than 177,000 royalty records that the business depended on being correct.

The tempting answer to a system like that is a rewrite. The tempting answer is usually wrong: a rewrite means a migration, and a migration of fifteen years of financial history is the single most dangerous thing you can do to a business that has to pay its authors accurately.

What was built, and why that way

A Laravel application built on top of the existing schema rather than replacing it. The legacy tables were inherited, not migrated, so no Laravel migration manages the core data at all. The new admin panel runs modern CRUD through Laravel controllers, and hands off to the original PHP scripts for the workflows that were not worth touching.

Coexisting like that is not free. It meant working with legacy password hashing, custom primary keys, Eloquent timestamps that had to stay switched off, and a database mixing MyISAM and InnoDB engines. That is the cost of not migrating, and it is a much smaller cost than the alternative.

The part that was actually hard

The pricing model. Every play carries eight or more distinct licensing tiers, digital perusal, hardcopy, photocopy, video, stage performance, forensics, musical and classroom, and each tier has both its own price and its own author commission percentage. Video subdivides again into five package levels.

A single order mixes tiers freely, and each tier fulfils differently: digital delivery, physical shipping, or performance rights documentation. The money then cascades through subtotals, per-type commissions, tiered shipping, discounts, coupons and tax.

Underneath that sits what is effectively a small accounting system: royalties settled per order line, at rates that vary by author and by play, with advances reconciled against future earnings.

Where it stands

Built between 2023 and 2025 and running at youthplays.com. Transactional email goes out through Amazon SES with delivery, bounce, open and click recorded per message.