Nathan Wrigley interviews Johanne Courtright about her journey from marketing-agency front-end work and static HTML toward building sophisticated Gutenberg solutions and an open-source toolkit called Groundworx.
Early experience and shift to blocks
Johanne began using WordPress in 2011, moved from ACF and custom post types into more advanced integrations (custom queries, forms, CRMs, APIs) and recently embraced the block editor and React. She started with Gutenberg early, learned React through courses and hands-on experimentation, and gradually committed to building modern, React-based blocks. She avoids jQuery where possible and uses the Interactivity API to add dynamic behavior with minimal JavaScript.
Why Groundworx exists
From agency work Johanne saw that the default block editor is “good enough” for many users but misses features agencies need: predictable responsive breakpoints, refined responsive controls, consistent color palettes, and UX efficiencies for editors. Groundworx is an open-source project that fills those gaps without trying to supplant Core. It enhances core blocks, adds agency-focused blocks and templates, and keeps options simple so non-technical clients aren’t overwhelmed.
Philosophy: extend, don’t replace
Johanne’s guiding principle is to extend core blocks rather than replace them. She adds controls and behaviors agencies need—breakpoint-aware headings and paragraphs, reversible stacking, responsive column counts, full-height sticky groups—while avoiding conflicts with Core. Groundworx relies on theme.json where possible and produces flexible block HTML that can be styled via CSS grid, keeping behavior implementable with CSS instead of hardcoded JS.
Agency needs versus Core scope
Agencies want pixel-perfect layouts, branded palettes, and editor efficiency. Johanne frames this as an 80/20 reality: most users need basic editing and those features belong in Core; the remaining 20%—designers and agencies with higher-fidelity needs—are better served by plugins or project-specific blocks. Groundworx targets that 20%, offering finer control without cluttering the editor for everyone.
What Groundworx provides
Groundworx contributes in two main ways:
– New custom blocks that implement behaviors Core doesn’t provide (responsive tabs that become accordions at a chosen breakpoint, media split/content blocks, cards with reveal effects).
– Extensions to core blocks that add agency workflows (three breakpoint controls for typography, responsive settings per breakpoint, reversible stack order, responsive column counts, and video performance optimizations).
These additions reflect features Johanne didn’t expect Core to prioritize. She reverse-engineered Core blocks where necessary to build compatible extensions and designed them to avoid interfering with Core behavior.
Themes, theme.json, and quick swaps
Johanne favors light, foundational themes that declare presentation via theme.json with minimal CSS and JS. Most functionality lives in plugins so themes can be swapped without breaking layouts. She uses consistent key names and labels in theme.json so designers can swap palettes and fonts by changing variables rather than reworking keys.
She would like theme.json to allow more arbitrary or semantic keys (for example multiple navigation color roles) so blocks could automatically consume those values instead of developers injecting CSS variables by hand.
Navigation and the Interactivity API
Navigation was a major focus for Groundworx. Johanne built a reusable navigation system stored in a custom post type that mirrors Core’s approach but offers more flexible markup and behavior. It supports mobile/desktop fallbacks, a full-height vertical mode toggled by breakpoint, and graceful collapsing to a top bar. Where dynamic behavior is needed she uses the Interactivity API to keep JavaScript minimal and performant.
The Gutenberg learning curve
Johanne emphasizes that Gutenberg requires a different mindset and has a steep learning curve for developers used to classic themes or page builders. Page builders can be familiar and solve problems quickly but often introduce markup bloat and styling conflicts. Gutenberg’s lean markup, override-friendly classes, and reliance on theme.json demand that agencies reverse-engineer Core patterns and re-learn theming for better long-term maintainability. When agencies commit to learning Gutenberg, they often appreciate the flexibility and lower maintenance burden; many teams, however, find the jump overwhelming.
Blocks as products and the ecosystem
Johanne sells parts of Groundworx commercially but primarily builds tools she needs. She believes the block market is still nascent: discovery is a huge bottleneck. The WordPress plugin and theme directories make it hard to find modern block-first solutions because search, filters, and metadata are limited. Johanne would like directories to highlight modern features—Gutenberg support, Interactivity API compatibility, and no jQuery—so users can find blocks that follow contemporary best practices.
The business of blocks
Nathan asks whether anyone has built a truly successful standalone block business. Johanne thinks the market is early: block-based products are a new application model and discovery, curation, and clearer metadata are essential for businesses to gain traction. Better showcasing and directory improvements would help.
Advice and final thoughts
Johanne advises agencies to embrace Core’s vision rather than layering another platform on top. Build flexible blocks that can be rearranged with grid and styled via variables so they remain adaptable across themes. Keep theme foundations lightweight and move functionality into plugins to avoid locking clients into a single theme or a bloated builder. She focuses on pragmatic, client-centered solutions that balance agency needs with compatibility and simplicity.
Where to find Groundworx
Groundworx is available at groundworx.dev. Johanne is active on X and in the WordPress community. Her work demonstrates how agency-driven requirements can push the block editor forward while staying aligned with Core’s long-term goals.