Re-platforming Nova: one festival platform, many sites

Re-imagined Nova from a theme into a shared WordPress platform, starting with Y Not Festival and more to come.

Role
Lead Engineer & Architect at Line20 Digital
Services & expertise
  • Solution Architecture
  • Discovery
  • Frontend Engineering
  • Technical Delivery
  • Content modelling
  • Content Management
  • Design Systems
  • Performance Optimisation
  • Accessibility
  • CI/CD
Stack & Tools
  • Wordpress
  • PHP
  • JavaScript
  • PostCSS
  • GitHub Actions

Nova started as a WordPress theme supporting one festival site to the next. The copies drifted, managing fixes between sites was tiem consuming and every season added more one-off code.

I was brought in by Line20 as the sole engineer. After discovery on the old theme, I rebuilt Nova from the ground up as a platform: a shared plugin for the content model and editing rules, plus a theme per festival for its design. Y Not Festival is the first site on it, with more lined up.

The Y Not 2027 design came from a third-party agency as an example page and a set of key assets. I developed it into a full system based on the festival’s real content and what editors needed.

Maintenance

  • One versioned plugin replaces copy and paste, so a fix made once reaches every site
  • Data, logic and markup are kept apart, with PHPStan at level 9 and every check running in CI

Editing

  • Editors build pages from designed sections.
  • Gutenberg is switched off to meet author needs.
  • Only layouts the theme supports show up in the editor, so nothing un-styled can be picked

Performance

  • Removing unneeded polyfills cut about 22 KB from a 30 KB script bundle
  • Native CSS cascade layers, lazy-loaded decorative images, and a cache that clears when content changes

Re-theming

  • Colours, patterns and decals are numbered slots, so a yearly rebrand never breaks existing content
  • Components read contextual tokens and follow the section they’re in. Every pairing passes WCAG AA.

  • Discovery and audit of the old Nova theme
  • Nova plugin: content model for editions, line-ups, artists, venues, tickets, accommodation, FAQs, news and more
  • Y Not theme: 11 section styles, 9 patterns and 17 decals, plus listings, popups, carousels and structured data
  • A seed command for realistic test content
  • CI/CD to staging and production, and migration planning from the old site

Y Not is the first festival on the new Nova, and more are lined up. Each one starts from a tested, shared platform, not a copy of someone else’s site.