Back to News

The Decoupled Blueprint

October 5, 20241 min read
The decoupled blueprint — Drupal operations brain, Next.js public face. Video and still by Grok Imagine.
Drupal holds truth; Next.js holds speed — how we split responsibilities between the operations brain and the public face.

Algorithm workflow

Decoupled responsibility split

Drupal 11Articles · donors · commerce · messages · adminGraphQL ComposeTyped API + OAuth consumersNext.js 15Shop · wiki · news · /portal · ISREditors & executivesGin admin UXFans & donorsFast public tierWordPress cannot be system of record for 15K+ profiles + enterprise commercePrototype: Jul 2024 – Apr 2025
Drupal 11 holds operational truth; GraphQL Compose and OAuth bridge to Next.js 15 for the public site and /portal.

The axanar-decoupled prototype (July 2024–April 2025) proved the split we wanted:

  • Drupal 11 — articles, landing pages, donor profiles, pledges, commerce products, fulfillment queues, support messages, admin tours, and executive dashboards.
  • Next.js 15 — homepage, shop, gallery, news, wiki, FAQ, donor roster, VIP flows, and the authenticated /portal experience.
  • GraphQL Compose — typed API between apps; no ad-hoc REST sprawl.
  • OAuth consumers — Next.js preview and donor session bridging without duplicating user tables.

We paused heavy feature work during the donor-site resurrection sprint, but the blueprint did not change. WordPress could not be the system of record for 15,000+ profiles, enterprise commerce, and message workflows — not while GoDaddy sent storage violation warnings and WP Premium Support credits piled up on a PHP 7-era install.

Decoupled architecture lets us scale the public tier (ISR, edge caching, burned-in shop catalog) without forking business logic. Alec's team edits in Gin admin UX; donors see a single fast site. That separation is the whole game.

Engineer's Log — Unification series (Part 2 of 8)

The axanar-decoupled prototype (July 2024–April 2025) proved the split we wanted:

  • Drupal 11 — articles, landing pages, donor profiles, pledges, commerce products, fulfillment queues, support messages, admin tours, and executive dashboards.
  • Next.js 15 — homepage, shop, gallery, news, wiki, FAQ, donor roster, VIP flows, and the authenticated /portal experience.
  • GraphQL Compose — typed API between apps; no ad-hoc REST sprawl.
  • OAuth consumers — Next.js preview and donor session bridging without duplicating user tables.

We paused heavy feature work during the donor-site resurrection sprint, but the blueprint did not change. WordPress could not be the system of record for 15,000+ profiles, enterprise commerce, and message workflows — not while GoDaddy sent storage violation warnings and WP Premium Support credits piled up on a PHP 7-era install.

Decoupled architecture lets us scale the public tier (ISR, edge caching, burned-in shop catalog) without forking business logic. Alec's team edits in Gin admin UX; donors see a single fast site. That separation is the whole game.

Engineer's Log — Unification series (Part 2 of 8)

Filed under