🚧 This site is under construction — thanks for your patience! 🚧🚧 This site is under construction — thanks for your patience! 🚧🚧 This site is under construction — thanks for your patience! 🚧🚧 This site is under construction — thanks for your patience! 🚧🚧 This site is under construction — thanks for your patience! 🚧🚧 This site is under construction — thanks for your patience! 🚧🚧 This site is under construction — thanks for your patience! 🚧🚧 This site is under construction — thanks for your patience! 🚧

Midwest Burners : Rebuilding the Hub for a Five-Site Network

Cover Image for Midwest Burners : Rebuilding the Hub for a Five-Site Network

The Problem

Midwest Burners Association, a Midwest regional Burning Man nonprofit, was running its annual event on the default WordPress theme, year after year, with no real information architecture behind it. Content was added as plain text with no formatting, no visual hierarchy, and no consistent structure. Navigation had grown organically (and chaotically) as new events, reports, and pages got bolted on wherever they'd fit.

The organization runs four distinct annual events (Interfuse, Hearths of Phyre, Hullabalu, and This Event Is Cancelled), each with its own identity, audience, and content needs, plus organizational content like bylaws, financials, and board info that had nothing to do with any single event. All of it lived on one undifferentiated site. Non-technical volunteer staff were the ones updating content between events, and the existing setup gave them no guardrails: no templates, no content types, just an open text editor and good intentions.

The result was a site that looked and felt disorganized because, structurally, it was.

The Approach: One Site Becomes Five

Before any design work started, the core decision was architectural: split a single flat WordPress site into a multisite network, an org-level parent site plus four event subsites, each with room to develop its own visual identity while sharing structural scaffolding underneath.

This meant the org site couldn't just be "the homepage." It had to function as:

  • The organizational hub (bylaws, board, financials, history, FAQ)

  • The connective tissue linking out to four independently-designed event subsites

  • The proof of concept for the shared theme architecture the subsites would build on

I owned this decision end to end: the multisite setup, the site structure and page architecture, the design system, the color story, the ACF field architecture, and the initial build. This case study focuses on the org site itself, but the multisite split is the foundation everything else sits on.

Design

The old site didn't really have a design, it had defaults. So the direction wasn't "improve the existing look," it was "decide what this organization should feel like online."

I landed on neo-brutalist: bold, high-contrast, structural. A few reasons this fit specifically:

  • It's organized by nature. Hard borders, deliberate grids, and offset shadows create visual hierarchy almost automatically, which was exactly what the old plain-text pages lacked.

  • It's playful without being cutesy. This is a festival organization, the design needed personality, but the org site also needed to read as credible (bylaws, financials, board documents live here too). Neo-brutalism let me be bold and structured at the same time.

  • It gave the four event subsites room to breathe. Because the org site's identity is intentionally graphic and typographic rather than illustrative, it doesn't compete with Interfuse's cyberpunk aesthetic or Hullabalu's vintage-Halloween palette. It reads as the "parent," not another sibling.

Typography: Bebas Neue for display headlines, Space Grotesk for body and UI text, JetBrains Mono for accents and metadata. The pairing gives the loud/quiet contrast neo-brutalism depends on: condensed impact up top, clean readable text underneath, monospace for anything that should feel like a label or a system detail.

Color & cards: A four-tier SCSS token architecture underpins the whole system (base palette, semantic tokens, component tokens, and utility tokens), which keeps the org site's colors consistent without hardcoding hex values anywhere in the templates. On top of that sits a $cycle-1 through $cycle-4 alternating card color system, so repeating content (announcements, linked posts, board members) gets automatic visual rhythm instead of looking like a monotonous list.

Structural signature: hard offset box shadows and thick borders on cards and buttons, with bold hover transforms (shifts, not fades) that reinforce the tactile, physical feel of the brutalist direction.

Technical Solutions

The build leans heavily on custom PHP rather than out-of-the-box GenerateBlocks loops or ACF's default output. GenerateBlocks' free tier doesn't reliably update $post/get_the_ID() per loop iteration, so anywhere content needed to be queried, sorted, or grouped, I wrote a dedicated PHP shortcode instead of fighting the block editor.

  1. WordPress Multisite architecture

    Split a single-site WordPress install into a network with one org-level parent and four event subsites, establishing the shared theme, plugin, and content foundation the rest of the network builds on.

  2. frost-mwb custom FSE child theme

    Built the shared theme scaffolding used across the network, with the org site as the first fully-built implementation, proving out the token architecture and block patterns before the subsites diverged into their own identities.

  3. Custom PHP shortcode library

    Built a full set of purpose-written shortcodes to replace block-based query loops entirely: board member archives, bylaws rendering, meeting minutes, FAQ, organizational timeline, and Ten Principles cards each have their own PHP-driven query, sort, and output logic rather than relying on GenerateBlocks or ACF's default markup.

  4. Nested ACF repeater rendering for Bylaws

    The bylaws page uses nested have_rows()/the_row() loops to render Articles containing Sections, with article and section numbers generated in PHP rather than typed manually into content, so renumbering never breaks when a section is added or removed.

  5. Custom taxonomy synced from an ACF field

    Registered a non-public mm-year taxonomy for meeting minutes that mirrors the year portion of an ACF date field. It's kept in sync automatically via an acf/update_value filter on save, so minutes can be archived and grouped by year without staff having to manually select a year and risk getting it wrong.

  6. Board term history logic

    Board members can hold multiple terms and roles over time, stored as ACF repeater rows. PHP logic expands each term's active year range, buckets members by year, and correctly handles a "currently active" toggle so terms don't need to be manually closed out year to year. Powers a collapsible "board by year" archive.

  7. Shared sidebar archive component

    One reusable shortcode (sidebar_archive) powers year-based archive navigation for both the board and meeting minutes sections, since they're structurally the same UI pattern under different content types.

  8. Default featured image assignment

    Hooked into wp_after_insert_post to auto-assign a placeholder headshot to new board bio posts, so pages never render with a broken image before a photo is uploaded.

  9. Multisite-aware enqueueing and body classes

    functions.php adds site ID, name, and domain classes to the body tag and conditionally enqueues site-specific stylesheets by blog ID, so the shared frost-mwb theme can serve differentiated styling per subsite without duplicating the theme itself.

  10. Shortcode-in-FSE compatibility layer

    FSE's block editor and wpautop don't play well with shortcodes by default, stray <p> tags break markup and shortcodes can silently fail to execute inside reusable blocks. Wrote custom render_block and the_content filters to strip artifact paragraph tags and guarantee shortcodes render cleanly everywhere they're used.

  11. Auto-registered block pattern library

    functions.php scans a /patterns directory on init and registers each file's block pattern straight from its file header (title, slug, categories), so adding a new pattern is a matter of dropping in a file rather than manually registering it in code.

  12. Four-tier SCSS token system

    Structured color and design tokens into base, semantic, component, and utility layers so the neo-brutalist system stays consistent and themeable without duplicating values across files.

  13. $cycle-1–$cycle-4 card color system

    Built an alternating color assignment pattern for repeating card-based content, giving visual rhythm to lists (announcements, linked content) without manual color assignment per item.

  14. Site structure & information architecture

    Rebuilt the full page hierarchy and navigation structure from scratch, replacing the ad hoc menu growth of the old site with an intentional map connecting org-level content to the four event subsites.

Tech Used

  • WordPress Multisite for the network architecture

  • Full Site Editing (FSE) with a custom frost-mwb child theme

  • Custom PHP (shortcodes, hooks, custom taxonomies, render_block/the_content filters) as the primary logic layer for querying and displaying content

  • ACF for structured, non-technical-friendly content fields

  • GenerateBlocks (free tier) for block-based layout components

  • SCSS (multi-tier token architecture) for the design system

  • Kinsta for hosting and staging

  • Local by Flywheel for local development

  • GitHub Actions for deployment

Lessons Learned & Refactor Ahead

The org site was the first site built in this network, and it shows. Working through Interfuse afterward taught me better patterns, more consistent shortcode structure, cleaner BEM naming, smarter ACF field grouping, and a more deliberate approach to reusable components, and a fair amount of what's on the org site predates that learning curve.

Bringing the whole network into alignment means going back through the org site with that hindsight, on both the PHP and the styles side, so all five sites hold together as one coherent system instead of five sites at different maturity levels.

What's Left

  • Refactor early PHP shortcodes to match patterns developed later on Interfuse (consistent structure, naming, and query handling)

  • Refactor SCSS/BEM naming inconsistencies left over from before the token system matured

  • Implement how afterburn reports are added and displayed

  • Build a system for displaying financial information per year (budget spreadsheets/data)

  • Add a favicon

  • Finalize headline sizing and spacing across breakpoints

  • Finalize link styles (states, hover treatment, in-content vs. nav)

  • Design and build the footer

  • Design and organize the contact page (both visual style and content structure)

WordPress MultisiteAdvanced Custom FieldsGenerateBlocksPHP SCSS/SassFSE (Custom Child Theme)