Johanne Courtright joined WordPress development in 2011 after moving from Dreamweaver and static HTML sites into agency work. Early on she embraced Advanced Custom Fields, custom post types, and integrations with CRMs and APIs. Over time she shifted into modern WordPress development, learning React to work with Gutenberg and eventually committing to a full block-first approach for her own projects.
Her focus is practical: provide agency-ready tools and workflows that make block-based sites pixel-accurate, performant, and easy for clients to manage. That led her to create Groundworx, an open-source project of blocks, extensions, and theme scaffolding that fills gaps she found in Core for agency use.
Why agencies need more than Core
Johanne explains that Core’s blocks are sufficient for many users, but agencies require finer control and efficiencies: predictable breakpoints and responsive behavior, consistent brand palettes and presets, user-friendly editing experiences for clients, and layout options that support pixel-perfect designs. Those needs often fall outside the 80/20 scope of Core, so Groundworx targets the 20% of advanced features agencies frequently need.
She emphasizes building blocks that are flexible and avoid rigid HTML structures, so styles can be rearranged using grid/CSS without bloating markup. The modern approach she prefers is to keep themes minimal—primarily theme.json settings and very little CSS/JS—so swapping themes remains simple and doesn’t lock clients into a single theme.
Groundworx: philosophy and features
Groundworx contains two complementary areas:
– Custom blocks tailored to features Core doesn’t provide or where Johanne wanted different behavior (tabs that turn into accordions at one chosen breakpoint, reveal cards, media/content split blocks, etc.).
– Extensions that augment Core blocks with agency-focused options: responsive breakpoints for headings and paragraphs, breakpoint-specific padding controls, column counts per breakpoint, reverse stacking order, full-height sticky groups, and video performance improvements.
She intentionally keeps extensions unobtrusive so they won’t interfere should Core adopt similar features later. The aim is to offer agencies the fine-tuning and UX efficiencies they need without overwhelming basic users.
Navigation: a key Groundworx example
Navigation was one of the major inspirations. Johanne appreciated some of Core’s navigation concepts but wanted more customization and a single HTML structure that gracefully adapts across layouts without duplicating menus for mobile and desktop. Groundworx navigation uses a custom post type to store reusable block-based menu parts, paired with blocks for Branding, Menu, Sub Menus, Link, and Spacer. The suite supports variants like a full-height column menu, vertical menus, and accordion-style submenus, all implemented using the Interactivity API and without extra DOM bloat.
Design tokens and theme.json requests
A recurring theme is the power of theme.json for creating consistent, swappable design systems. Johanne recommends meaningful keys and labels so creating a new theme can be as simple as changing values. She’d like theme.json to support more flexible custom variables—allowing custom keys and selectors to be declared and then populated via theme.json—so components like navigation can use more than the current limited palette slots without manual CSS injection.
Transitioning to block-first workflows
The shift from classic themes and builders to block-centric development requires a mindset change. Johanne notes many developers are overwhelmed by Gutenberg’s modern stack and concepts (React, Interactivity API, theme.json). She stopped using heavy CSS frameworks like Tailwind for WordPress, favoring lean SCSS and small, focused styles inside blocks. Once developers reverse-engineer how Core intends layout and styling to work, many become enthusiastic about the capabilities.
Core vs. third-party builders
Johanne contrasts Core’s minimal, override-friendly approach with page builders that inject extra markup and styling. She prefers building on top of Core’s intended patterns and extending them rather than adopting third-party platforms that create a different layer on top of WordPress. For her, embracing Core’s direction results in lighter themes, easier overrides, and more predictable behavior for clients.
Distribution, discovery, and the plugin directory
Johanne points out discovery is a major problem for block developers. The WordPress plugin directory search is overly keyword-stuffed, hard to browse, and doesn’t spotlight new or Gutenberg-focused projects well. She’d like better categorization (e.g., whether a plugin supports Gutenberg, whether it uses jQuery) and editorial features—featured listings or curated sections—that help users and businesses get noticed. Improved surfacing of block-based plugins would foster a healthier commercial ecosystem around blocks.
Business realities of block products
Johanne treats Groundworx first as a tool she uses and refines, and second as a product. She doesn’t expect block projects to instantly become “fountains of cash.” The block ecosystem is still maturing; businesses and marketplaces around blocks need better discovery and infrastructure to scale. That said, she believes growing interest in block-centered development signals opportunity—especially as WordPress continues improving Full Site Editing, block APIs, and related admin UX.
Advice and takeaways
– Build flexible HTML: design blocks so structure can be rearranged or restyled via CSS grid rather than fixed markup.
– Keep themes light: use theme.json for tokens and branding, minimize CSS/JS in themes so switching themes is low-friction.
– Focus on client UX: presets for palettes, font scales, and templates save time and reduce client confusion.
– Use the Interactivity API and modern patterns where possible to avoid DOM bloat and reliance on jQuery.
– Accept Core’s scope: understand the 80/20 rule—Core focuses on broad needs; deeper, agency-level controls are often best provided by plugins or project-specific tooling.
– Advocate for better plugin discovery: a more usable directory and editorial curation would help block authors and buyers find each other.
Where to find Groundworx and Johanne
Groundworx is available at groundworx.dev (WORX spelled with an X). Johanne shares updates and engages with the community on X (Twitter), and she plans to release a starter theme.json and documentation to help others adopt her patterns.
Conclusion
Johanne’s work on Groundworx exemplifies how developers can extend Gutenberg pragmatically to meet agency needs while staying aligned with Core’s vision. Her emphasis on minimal themes, reusable blocks, responsive controls, and client-friendly presets shows a practical path forward for teams adopting block-first workflows. As block tooling, discovery, and Core APIs mature, there’s potential for more robust commercial ecosystems around blocks—if the community and platform improve how block products are surfaced and supported.
