type: integer settings: min: 28 unsigned: true required: true
Stack Innovations
Start a project
Most Drupal projects ship with stock contrib and a half-configured
admin. We treat Drupal like the infrastructure it is —
Composer-managed dependencies, config/sync between
environments, Views authored in YAML, Twig themed top-to-bottom,
Drush automated, JSON:API where it makes sense. Audited and
accessible by default.
Each stat is a Drupal field config — the YAML that lands in config/sync on deploy. Hover any to see the field definition. Counters scrub with scroll.
type: integer settings: min: 28 unsigned: true required: true
type: integer settings: min: 4200 required: true
type: integer settings: min: 142 scope: custom
type: integer settings: max: 0 default_value: 0
Click the toolbar on the left — the active capability opens in the admin, rendered like a real Drupal admin page in the Olivero/Claro chrome. Each pane is a working configuration we've shipped.
We model in entities — nodes, taxonomy, paragraphs, custom — with Field UI in development and Configuration Management to ship. View modes per surface (teaser, card, RSS, JSON:API), display modes per role, and Layout Builder where editors need it.
EntityBase classesComputedItemListViews isn't a "module," it's the query language for your editorial surface. We model contextual filters, exposed forms, relationships, aggregation, and custom display plugins so a marketer can rebuild a listing without a deploy.
Drupal's Configuration Management is the killer enterprise feature. Every entity, view, role, field, theme setting lives in YAML in config/sync, version-controlled, code-reviewed, and synced via drush cim. Per-environment splits with config_split for what should differ.
config_split · per-env overridesdrush deploy · one commandconfig_logFrom WordPress, Sitecore, AEM, Drupal 7, or that homegrown CMS no one wants to touch. We model source plugins, process pipelines, and destination plugins. Run, rollback, re-run — idempotent until cutover. Redirects mapped, SEO continuity preserved.
migrate:rollback · safe replayDrupal is the gold standard for multilingual CMS. We tune the four core modules (Language, Content Translation, Configuration Translation, Interface Translation), set fallback chains, hreflang, RTL theming, and per-locale URL strategies that pass SEO audits.
BigPipe streaming, Dynamic Page Cache tuned, CDN purges via tags, PHPStan in CI, security advisories monitored, regular pen-tests, full audit logs. Hosted on Pantheon / Acquia / Platform.sh / your bare metal — we don't care; we configure for the runtime.
This is the Views UI — Drupal's signature feature. Drag fields, filters, sort & display options into the view config. The right pane re-renders the listing in real time, exactly as it would appear on the site. anime.js draggable, popmotion inertia, mojs burst on save.
Same platform, two views.view.articles.yml files. The diff tells the story.
langcode: en status: true id: articles label: 'Articles' module: views description: '' tag: '' base_table: node_field_data display: default: display_options: pager: { type: full } # no contextual filters # no exposed filters # no relationships # no cache tags # shipped to prod — everywhere.
langcode: en status: true id: articles label: 'Articles' display: default: display_options: relationships: author: { entity: user, required: true } arguments: tag: { type: taxonomy_term } filters: status: { value: 1, exposed: false } type: { value: [article] } cache: type: tag max_age: 3600 access: { type: perm, perm: 'access content' } rest_export: display_options: style: { type: serializer, formats: [json_api] } path: api/articles
Drupal's config/sync directory is the canonical state of every entity, view, role, and theme setting. We sync it between dev, staging, and prod via drush cim, with config_split for what should differ. Click an environment tab to see the active config diff.
Stakeholder interviews, content audit, performance baseline, accessibility audit, content modeling sessions.
Composer-managed Drupal 11, environments configured (dev / staging / prod), CI pipeline, lando/ddev local.
Entities, bundles, fields, view modes. Views authored, Olivero subtheme, Twig overrides, Layout Builder where editors need it.
Source plugins, transforms, idempotent rollback. Sitemaps, redirects, hreflang, schema markup, Drupal SEO Checklist.
Loom walkthroughs, role setup, content moderation states, dry-run publishes. drush deploy, DNS cutover.
Security advisories, monthly minor upgrades, Drupal Rector for major bumps, perf monitoring, quarterly review.