CLIENT
Situation Interactive
TECHNOLOGIES
Drupal 10, PHP, Twig, JavaScript, YAML, Composer
YEAR
2024
EXTERNAL URL
My second ADL project through Situation Interactive, following the Never Is Now summit platform — this time working in Drupal rather than WordPress. I built a new network of campaign pages and configuration files on adl.org to support a major advocacy initiative, delivering structured content architecture and Drupal configuration management within an established enterprise CMS environment.
Led development at Situation Interactive. A Drupal engagement that, alongside the Criterion Ticketing project, demonstrated platform versatility beyond the WordPress ecosystem.
Background
A civil rights organization founded in 1913 needed new digital infrastructure for an urgent campaign.
The Anti-Defamation League is the leading organization fighting antisemitism and hate in the United States and globally. In the wake of October 7, 2023, antisemitic incidents in the U.S. surged to record levels — the ADL’s 2024 audit documented 9,354 incidents, a 5% increase over the prior year and the highest figure in the organization’s 46 years of tracking. The ADL needed to move quickly to launch new advocacy and education campaigns on adl.org, their Drupal-based digital platform. Working through Situation Interactive, I led development on a new network of campaign pages and supporting configuration to bring one of these initiatives to production on the main site.
The scope was clear: build the page architecture and Drupal configuration required to launch a new campaign vertical within an existing enterprise CMS — on a timeline dictated by a rapidly evolving public crisis.
Implementation
Drupal content architecture and configuration management on an enterprise platform.
I built the campaign’s page network directly within the ADL’s Drupal 10 environment — content types, view configurations, Twig templates, and YAML configuration files that integrated cleanly into the existing site architecture. Drupal’s configuration management system governed the deployment pipeline: all structural changes were exported as YAML, version-controlled, and promoted through environments rather than applied manually. Twig handled the templating layer, and Composer managed dependency resolution across the project. This was my first time working in Drupal after years of deep WordPress specialization, and the transition was immediate. The underlying patterns — PHP as the server-side language, Twig for templating, Composer for dependency management, structured content modeling — translated directly. The differences were in Drupal’s configuration-as-code workflow, its entity/field architecture, and its approach to views and display modes, all of which I adopted and operated within on the project’s timeline.
The page network was built to the ADL’s existing content governance standards — structured fields, defined display modes, and editorial workflows that gave the content team full control over campaign messaging without requiring developer intervention for routine updates.
Results
Campaign live, content team independent, platform fluency proven.
The campaign pages launched on schedule within adl.org, giving the ADL a new content vertical to support their advocacy work at a moment when the organization’s mission carried particular urgency. The structured content architecture performed as designed — the ADL’s editorial team managed all post-launch updates, messaging adjustments, and new page additions independently. The YAML-based configuration management ensured that every structural change was reproducible and environment-safe, with no manual database interventions required across deployments.
This project demonstrated something beyond the deliverables themselves: platform versatility at senior level. Moving from WordPress to Drupal without a ramp-up period — shipping production work on a new CMS for a major civil rights organization — reinforced that strong engineering fundamentals transfer across platforms. The underlying skills — PHP, Twig, Composer, structured content modeling — carried directly; the differences were in Drupal’s configuration-as-code workflow and entity architecture, which I adopted and operated within on the project’s timeline.
