a:6:{s:5:"child";a:1:{s:0:"";a:1:{s:3:"rss";a:1:{i:0;a:6:{s:4:"data";s:3:"


";s:7:"attribs";a:1:{s:0:"";a:1:{s:7:"version";s:3:"2.0";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:1:{s:7:"channel";a:1:{i:0;a:6:{s:4:"data";s:112:"
	
	
	
	







































































































";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:16:"WordPress Planet";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:28:"http://planet.wordpress.org/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"language";a:1:{i:0;a:5:{s:4:"data";s:2:"en";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:47:"WordPress Planet - http://planet.wordpress.org/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"item";a:50:{i:0;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:59:"Jonathan Desrosiers: The Ghosts of Unactivated Contributors";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:38:"https://jonathandesrosiers.com/?p=5954";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:78:"https://jonathandesrosiers.com/2025/07/the-ghosts-of-unactivated-contributors/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:14498:"<p>I’m so glad <a href="https://binatethoughts.com/">Tammie</a> was (partially) inspired to <a href="https://binatethoughts.com/first-props-and-contribution-journeys/">reflect on the beginning of her contribution journey </a>after reading my <a href="https://jonathandesrosiers.com/2025/07/12-years-contributing-to-wordpress/">12 year first contribution anniversary post</a>. I love reading these stories! They really ignite a meditative mindset.</p>



<p>I’m currently up in the <a href="https://en.wikipedia.org/wiki/White_Mountains_(New_England)">White Mountains</a> on a family vacation. I read her post with my morning coffee before my wife and I set out to hike <a href="https://www.visitwhitemountains.com/listing/mount-willard-trailhead/143/">Mount Willard</a> as part of our attempt to tackle the <a href="https://www.kenmacgray.org/52/">52 With A View</a>. I know, I should be better about disconnecting, but her reflections had me thinking on the trail.</p>



<h2 class="wp-block-heading">Everyone is just “figuring it out” (whatever that means)</h2>



<p>It’s interesting how the contributors you looked up to when getting started that you assumed were well established were actually still finding their way.</p>



<p>Tammie is a great example of this. I remember looking at comments she made and thinking they were insightful and based on lots of experience. They were and still are, but her experience was not what I had assumed. Her experience at the time was just not yet from contributing to WordPress. She too was wandering around looking for the path that looked just right at the same time as me.</p>



<p>“Figuring it out” also means something different to everyone. And “it” can also change over time. The best path today will likely not be a good fit in 10 years, 5 years, or even 6 months.</p>



<figure class="wp-block-image alignwide size-large wp-lightbox-container"><img alt="" class="wp-image-5965 not-transparent" height="768" src="https://jonathandesrosiers.com/wp-content/uploads/2025/07/img_1969-1024x768.jpg" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">An increasingly foggy part of the trail on Mount Willard in the White Mountain National Forest.<br /></figcaption></figure>



<h2 class="wp-block-heading">Activating Observers</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>“A simple code review or “great job” can be the difference between a one-time contributor and a future maintainer. You never know what someone needs to hear, so be generous with feedback.”</p>
</blockquote>



<p>This is something I <a href="https://maintaine.rs/desrosj">included in my essay</a> for the <a href="https://maintaine.rs">Maintaine.rs</a> book. In Tammie’s post, she interestingly had a sentence that struck me as the exact opposite of that statement.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>“Our projects are full of the ghosts of contributors we never activated, and that fuels me to see potential in every person who gives up their time.”</p>
</blockquote>



<p>What happens when we don’t put our best forward, if it wasn’t enough, or wasn’t what someone needed to hear? Obviously we can’t (and shouldn’t) attract or keep everyone who passes by the communities we care for to join in our efforts. But what about those who <em>were</em> good fits but just weren’t engaged with in the right way?</p>



<p>Maybe documentation was lacking. Maybe expectations were unclear. Or maybe they sensed a maintainer was being territorial towards an area of the project they look after. This excerpt from <a href="https://producingoss.com">Producing Open Source Software</a> is relevant here:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Watch out for participants who try to stake out exclusive ownership of certain areas of the project, and who seem to want to do all the work in those areas, to the extent of aggressively taking over work that others start. Such behavior may even seem healthy at first. After all, on the surface it looks like the person is taking on more responsibility, and showing increased activity within a given area. But in the long run, it is destructive. When people sense a &#8220;no trespassing&#8221; sign, they stay away. This results in reduced review in that area, and greater fragility, because the lone developer becomes a single point of failure. Worse, it fractures the cooperative, egalitarian spirit of the project.</p>



<p><a href="https://producingoss.com/en/producingoss.html#territoriality">Karl Fogel. Producing Open Source Software. Chapter 8: Preventing Territoriality</a></p>
</blockquote>



<p>Sometimes letting people find their way means not engaging at all. Not every contributor requires an eager welcome or hand-holding. Over-engaging can also be a bad thing. Knowing how to gauge the appropriate level of interaction is a skill that comes with time.</p>



<h2 class="wp-block-heading">Different Paths For Different People</h2>



<p>On our hike, I noticed that the route my wife took was almost never the same as the one I took on the same exact path. I wasn’t intentionally avoiding her footprints, I was just subconsciously choosing what looked best to me.</p>



<p>The same is true in a large community. Instead of rigid groupings with strict criteria that must be met, establish decision-making frameworks that encourage flexibility guided in foundational principles.</p>



<p>I sometimes observe new contributors trying to make sense of activity by forcing everything into specific categories, paths, or types. While it makes a lot of sense as a first step, that can quickly lead to frustration and burn out because it just doesn’t work like that at scale.</p>



<p>Paths also manifest to individuals differently. Sometimes they’re rocky and sometimes not. Sometimes it’s rocky but one giant smooth rock instead of many little ones, and occasionally the surface is just a little slippery. Everyone proceeds at their own pace. If you believe in the mission and have purpose, continue on despite the form the path takes in front of you. </p>



<h2 class="wp-block-heading">Avoid Congregating At The Top</h2>



<p>Two Summers ago while also in New Hampshire, we took the <a href="https://mt-washington.com/?gad_source=1&amp;gad_campaignid=20890652283&amp;gbraid=0AAAAApFtTRv45-wTrqsc07TBDgP6gkw8H&amp;gclid=EAIaIQobChMI-KP6vamzjgMVmVhHAR1NZQFMEAAYASAAEgJBF_D_BwE">Mount Washington Auto Road</a> to the top of the <a href="https://en.m.wikipedia.org/wiki/Mount_Washington">6,288 foot highest point in New England</a>. When we reached the summit, the weather was drastically different (30-40MPH gusts, cloudy, and 35°F) than at the base (high 80°s F, calm, clear and sunny).</p>



<p>Besides the weather, something else stood out.  There was a line ~100 people long waiting for a chance to take a photo in front of the summit sign.</p>



<figure class="wp-block-image size-large wp-lightbox-container"><img alt="A long line of people at the top of Mount Washington lined up to take a photo with the summit sign." class="wp-image-5962 not-transparent" height="1024" src="https://jonathandesrosiers.com/wp-content/uploads/2025/07/img_1681-768x1024.jpg" width="768" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">The line at the top of Mount Washington. </figcaption></figure>



<p>When everyone crowds toward the “top,” we risk losing the balance and continuity that healthy communities need. It’s not about reaching the summit. Rather, it’s about ensuring the entire path is well-traveled, well-marked, and connected.</p>



<h2 class="wp-block-heading">Don’t Meet At The Top</h2>



<p>We never truly make it to the “top” because it’s not a static thing. This is especially true in technology where everything is constantly changing and evolving. Thus, “getting to the top” is the wrong goal. Instead, our goal should be to connect with as many people as we can at the many points paths intersect along the way. Put differently, we should be building connections between as many paths as possible.</p>



<figure class="wp-block-image alignwide size-large wp-lightbox-container"><img alt="A bed of ferns in the foreground at the peak of Mount Willard.  It’s foggy, but a highway can be seen in the background almost 3,000 feet below." class="wp-image-5972 not-transparent" height="768" src="https://jonathandesrosiers.com/wp-content/uploads/2025/07/img_2017-1024x768.jpg" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">The view from the peak of Mount Willard at 2,865 feet.</figcaption></figure>



<h2 class="wp-block-heading">Those Who Predate Us</h2>



<p>There was a very old stone wall covered in moss on the hike and I found myself thinking: how many others had used the same path before me? How many people <em>lived</em> on this mountain before the trail existed? There’s no true way to know, especially if everyone is respecting the <a href="https://www.forestsociety.org/forest-journal-column/carrying-about-carry-carry-out">carry in, carry out</a> mindset. Instead, the signs will be very subtle and require an astute eye.</p>



<p>Footprints, paths worn down from traffic, and in more obvious cases, others actually passing you on your way. While each path is unique, <em>where</em> your path takes you is rarely untraveled. Learn to spot the differences and adjust accordingly.</p>



<h2 class="wp-block-heading">Many Small Trickles Fill A Basin</h2>



<p>When you drink from the fire hose of a large Open Source project like WordPress, it’s easy to lose sight of the cumulative efforts that are required to create such a strong and steady flow. But like basins and streams, it takes many small trickles to fill them.</p>



<figure class="wp-block-gallery alignwide has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-5974 not-transparent" height="1024" src="https://jonathandesrosiers.com/wp-content/uploads/2025/07/img_2033-768x1024.jpg" width="768" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">A small trickle of water halfway up Mount Willard.</figcaption></figure>



<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-5964 not-transparent" height="768" src="https://jonathandesrosiers.com/wp-content/uploads/2025/07/img_1960-1024x768.jpg" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">Centennial Pool found near the start of the trail on Mount Willard.</figcaption></figure>
</figure>



<p>Our work isn’t measured only by the splash of large contributions, but by the steady trickle of small acts that feed a thriving ecosystem. If we want future contributors to drink from the same basin, we need to show them how every small drop matters.</p>



<h2 class="wp-block-heading">Judging Effectiveness By Noise</h2>



<p>As we got close to the end of the hike, we started hearing cars on the highway again. The trail we took was an out and back loop. In this situation, it meant we were in the right place. But when we started the hike, the opposite was true.</p>



<p>When participating in a community, the level of “noise” can be used to gauge whether your work is on target. </p>



<p>When beginning to work on a foundational task that only a few people can advise on, that often means you’re in the right space. But once you’ve shared that idea with the wider community, silence could mean you’ve missed the mark.</p>



<p>Still, silence isn’t always failure. Sometimes it’s just the sound of others listening, considering, and preparing to walk their own part of the trail that you’ve created.</p>



<p class="has-text-align-right"><em>Featured image credit: <a href="https://creativecommons.org/publicdomain/zero/1.0/">CC0</a> licensed <a href="https://wordpress.org/photos/photo/1056619c2d/">photo</a> by <a href="https://wordpress.org/photos/author/soycelycruz/">soycelycruz</a> from the <a href="https://wordpress.org/photos/">WordPress Photo Directory</a>.</em></p>
<p>The post <a href="https://jonathandesrosiers.com/2025/07/the-ghosts-of-unactivated-contributors/">The Ghosts of Unactivated Contributors</a> appeared first on <a href="https://jonathandesrosiers.com">Jonathan Desrosiers</a>.</p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 11 Jul 2025 01:55:36 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:19:"Jonathan Desrosiers";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:1;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:112:"WordPress.org blog: Introducing WordPress Credits: A New Contribution Internship Program for University Students";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:35:"https://wordpress.org/news/?p=18913";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:127:"https://wordpress.org/news/2025/07/introducing-wordpress-credits-a-new-contribution-internship-program-for-university-students/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:4768:"<p>The WordPress Foundation is proud to launch WordPress Credits, a contribution-focused internship program that brings university students into the heart of the WordPress open source project. While WordPress thrives on contributions from a global volunteer community, many students and newcomers face barriers to entry, such as a lack of structured guidance or real-world experience in open source projects. This new program is designed to bridge that gap, nurturing future contributors and ensuring WordPress remains innovative, inclusive, and sustainable for years to come.</p>



<p>The <a href="https://gamma.app/docs/EN-WordPress-Credits-vz0k2vr1ulg91qq?mode=doc">pilot program</a>, developed in partnership with the University of Pisa, was announced on stage at WordCamp Europe 2025 by Matt Mullenweg and Mary Hubbard. Since then, it has attracted interest from students across various fields of study, including humanities, computer science, and communication. Companies in the WordPress ecosystem have also expressed support and interest in contributing to the project. In response to the growing interest from both community members and academic institutions, we are now inviting more universities to join the initiative.</p>



<p>Open to students from all fields of study, the program blends structured onboarding with a personalized contribution project. Activities are adapted to each student’s degree program and familiarity with WordPress, aiming to develop transferable skills, academic-related competencies, and active participation in the WordPress community. Internship durations may vary depending on the university or educational institution. Some may align with academic semesters (typically 3–4 months), while others, like the University of Pisa, allow students to sign up year-round with a requirement to complete a set number of contribution hours (e.g. 150 hours). Flexible arrangements can be discussed to meet the specific requirements of each institution.</p>



<p>Foundational Training includes:</p>



<ul class="wp-block-list">
<li>An introduction to open source principles and the WordPress Foundation</li>



<li>Getting familiar with community tools (Slack, Make blogs, Learn platform, GitHub)</li>



<li>Setting up a personal WordPress site and publishing content</li>
</ul>



<p>Each student will choose a contribution area and design their own personal project within that area. Examples of possible projects include:</p>



<ul class="wp-block-list">
<li>Translating interfaces or documentation</li>



<li>Creating multilingual subtitles for educational videos</li>



<li>Contributing code or performing testing</li>



<li>Supporting product development or design</li>



<li>Writing or editing content</li>



<li>Assisting with community event organization</li>



<li>Developing training materials for Learn WordPress</li>



<li>Creating open source tools</li>



<li>And much more…<br /></li>
</ul>



<p>Interns are guided by an experienced mentor specific to their chosen area and supported by a dedicated WordPress Foundation contact person throughout the program. All student contributions, whether code, translations, documentation, or educational materials, will be publicly visible and integrated into official WordPress projects and resources, directly benefiting the wider community.</p>



<p><strong>Interested universities and educational institutions</strong> interested in participating can reach out by filling <a href="https://wordpressdotorg.survey.fm/wordpress-credits-educational-institution-interest-form">the interest form</a>.</p>



<p>We also invite companies in the WordPress ecosystem to support this initiative by sponsoring mentors who will guide and empower the next generation of contributors, or by providing tools and resources that help students succeed in their contribution journey. </p>



<p><strong>If your company is interested in getting involved</strong>, please visit the <a href="https://make.wordpress.org/handbook/wordpress-credits-contribution-internship-program/get-involved-company-guide/">Company Guide</a> to learn more and <a href="https://wordpressdotorg.survey.fm/wordpress-credits-%E2%80%93-company-interest-form">fill out the form</a> to join the program.</p>



<p><em>By welcoming students, mentors, sponsors, and volunteers into this initiative, we are building a stronger and more connected WordPress community. Each person who takes part, whether they guide a student, share their experiences, provide sponsorship, or simply help spread the word, helps ensure that open source remains vibrant and accessible for all. Together, we are not just supporting individual contributors; we are shaping the future of WordPress and open source itself.</em></p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 10 Jul 2025 16:56:52 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"Isotta Peira";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:2;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:93:"Open Channels FM: Beyond Hosting: Generalists, Pricing Advice, and AI’s Role in Development";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"https://openchannels.fm/?p=101131";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:94:"https://openchannels.fm/beyond-hosting-generalists-pricing-advice-and-ais-role-in-development/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:197:"In this episode of Dev Pulse, hosts chat with Jason Cosper about the challenges and humor in infrastructure, consulting rates, communication, and the evolving role of AI in tech work and workflows.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 10 Jul 2025 10:54:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:3;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:52:"Tammie Lister: First props and contribution journeys";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:34:"https://binatethoughts.com/?p=2374";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:65:"https://binatethoughts.com/first-props-and-contribution-journeys/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:7370:"<p>This post was inspired by the awesome posts from <a href="https://jonathandesrosiers.com/2025/07/12-years-contributing-to-wordpress/">Jonathan Desrosiers</a> and <a href="https://felix-arntz.me/blog/10-lessons-from-10-years-of-contributing-to-wordpress-core/">Felix Arntz</a>, who celebrated their contribution anniversaries with reflection. It made me muse on how critical those first points, the initial steps in a contribution journey, are. I began reflecting on my own &#8216;firsts&#8217; and the people who helped me achieve them.</p>



<figure class="wp-block-image size-full"><img alt="" class="wp-image-2379" height="1024" src="https://binatethoughts.com/wp-content/uploads/2025/07/openart-ea520274-880f-4365-ac51-784abc7802b1.png" width="1024" /></figure>



<h2 class="wp-block-heading">Reflecting</h2>



<p>I am never one to celebrate anniversaries in general, and as a result, I admit I let my slide, both personally and professionally. That isn&#8217;t a pattern I suggest anyone should follow, though; it&#8217;s essential to acknowledge where you have been and who helped you get there.</p>



<p>In open source, those who have been involved in the project for a longer time may have always known what they are doing. This is far from the truth. Those who enabled my first props also had their own. Often, though, the first prop isn&#8217;t the first entrance into the project. It can be an incredible moment that empowers someone, though, by recognising their work. Often, props can come after a few stages in a contribution journey, and we might forget that. That path was one I followed, taking time to explore adjacent spaces before even finding my way around the space.</p>



<h2 class="wp-block-heading">My first props</h2>



<p>I admit I don&#8217;t recall ever looking up my first props before and I found mine this time but it took a bit. It was a nice moment that aligned with my contribution story to see my props split across core and BuddyPress. It also reflected how I took time before props to get settled in.</p>



<p>My first appearance in this space was in core, and then I rapidly ended up in adjacent areas, such as the theme review team and BuddyPress. On reflection, this could have been a different story. It could have been one of the contributor who pivoted out, never finding their space. So, I am grateful for finding a space and to those contributors who caught me.</p>



<p>My first BuddyPress props was by <a href="https://profiles.wordpress.org/djpaul/">Paul Gibbs</a>, and it was on <a href="https://buddypress.trac.wordpress.org/changeset/3462">11/12/2010</a>. My first core props came a few years later, and it was by <a href="https://profiles.wordpress.org/helen/">Helen Hou-Sandi</a> on <a href="https://binatethoughts.com/?page_id=2375">03/01/2013</a>. By each of these props, I was already settled into those spaces as a contributor. Props might come later because you&#8217;re working on other things or the role you&#8217;re contributing.</p>



<h2 class="wp-block-heading">A welcome</h2>



<p>I had the pleasure of being asked to share my thoughts on contributing to <a href="https://maintaine.rs">maintaine.rs</a>, along with other open source contributors, including the ever-awesome <a href="https://jonathandesrosiers.com">Jonathan Desrosiers</a>. This is an incredible project telling stories across open source, and I encourage checking it out. In it, I was asked about welcoming contributors and how to see value.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>If you want contributions, be sure to show how and where they are wanted. It&#8217;s one thing to say &#8216;all contributions are welcome&#8217;, but that&#8217;s open-source theatre because honestly, it&#8217;s likely not all are in every area as welcome as others. There are always more areas needed than some. Highlight these and make sure someone gets off to a contribution success from the start.</p>
</blockquote>



<p>My journey could have been very different if I hadn&#8217;t found a place to contribute. Empowered by those people, I was led to the props and supported in my first tickets. Our projects are full of the ghosts of contributors we never activated, and that fuels me to see potential in every person who gives up their time.</p>



<p>When I arrived at the project, I wasn&#8217;t sponsored; I was giving my own time because this project was providing me with a blog and client work. My journey in open source began before WordPress, starting with Linux. When I joined the project, I already understood the concept of contribution and came to it with that in mind, looking to find a way to balance what I was gaining.</p>



<p>I wasn&#8217;t aware of all the options to contribute to the project; there were fewer than there are today. I had to be shown my options, where I could be helpful. My path was one so many have followed. I ended up staying here for so long because of the people who caught up with me along the way and helped empower me as a contributor, so thank you.</p>



<h2 class="wp-block-heading">Props is just one of the firsts</h2>



<p>Whilst these are &#8216;first&#8217;, they are just the public ones. There are so many firsts in a contribution journey. I was in these projects before my props. My first experience with core was that it was too overwhelming, which is why my first props is in BuddyPress. My first solo theme review was also pivotal to my journey <a href="https://themes.trac.wordpress.org/ticket/3022">14 years ago</a>. </p>



<p>Every conversation, particularly in the first few stages, was pivotal to my journey as it set the tone for where I ended up adventuring. They could also have been points that led me to leave the project because I couldn&#8217;t find a way to contribute. I hold onto this point when interacting with others, as each contribution is so significant. You never know what someone will do in a project if they are given the opportunity, and it starts with them knowing they can do things. It&#8217;s essential always to acknowledge and recognise everyone who contributed. You never know whose first props those might be and what impact each of us might have on someone&#8217;s journey of contribution. </p>



<p>Someone might also travel this project and never get props, because perhaps of the contribution area they are in or the work they are doing. That&#8217;s a key thing to consider, and actually, my own journey has public and non-public recognition due to different roles. As a project, WordPress needs to be better at recognising and measuring all types of contributions so the pride we all feel in props can be given to anyone contributing significantly.</p>



<p>If open source contribution works, it&#8217;s a journey. This point is demonstrated by the adventures I have travelled and those of others within these projects. We have grown up, changed jobs, and moved locations, but we stayed with the project and our contributions. You do that because you want to, because you are getting something from doing it, as contribution has to be a two-way street to become a part of someone&#8217;s life. Props and other recognition are a boost to help you on that journey. It works because it acknowledges the work being done, and in its simplest form, it is a way of saying thank you.</p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 10 Jul 2025 09:14:26 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:18:"binatethoughts.com";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:4;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:112:"Open Channels FM: The Future of WordPress and AI: Open Protocols, Agentic Workflows, and Industry Transformation";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"https://openchannels.fm/?p=99251";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:116:"https://openchannels.fm/the-future-of-wordpress-and-ai-open-protocols-agentic-workflows-and-industry-transformation/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:220:"As AI advances, WordPress must choose between cloud-based tools or local agent workflows. Emerging protocols allow dynamic communication, influencing automation, privacy, and the future control of web content management.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 10 Jul 2025 09:01:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:5;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:40:"HeroPress: The Remote Team Who Raised Me";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:56:"https://heropress.com/?post_type=heropress-essays&p=8032";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:132:"https://heropress.com/essays/the-remote-team-who-raised-me/#utm_source=rss&utm_medium=rss&utm_campaign=the-remote-team-who-raised-me";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:11486:"<img alt="Pull Quote: Through WordPress, I learned that staying — quietly, kindly, steadily — can be its own kind of success." class="attachment-large size-large wp-post-image" height="512" src="https://heropress.com/wp-content/uploads/3025/07/070825-min.jpg" width="1024" /><section class="wp-block-newsletterglue-group" style="padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; margin-top: 0px; margin-bottom: 0px;">
<figure class="wp-block-audio"><audio controls="controls" src="https://heropress.com/wp-content/uploads/3025/07/cathy_mitchell_heropress.mp3"></audio><figcaption class="wp-element-caption">Here is Cathy reading her own story aloud.</figcaption></figure>
</section>




<p>In 2004, I was at home with one baby, having just left a career that I loved. Being at home with a baby full-time was shriveling up my brain. Before WordPress I tried gardening, sewing, painting, preserving and cooking. I was desperate to fill the void left by my career. </p>



<p>My husband at the time, was a tech genius and had heard of a new get rich quick scheme: &#8220;blogging&#8221;.</p>



<p>I didn’t know what that meant &#8211; I had to research what the internet was! But I was desperate and the evening news was featuring these &#8220;mommy bloggers&#8221; who were making small fortunes!</p>



<p>&#8220;If they can do it&#8221;, I thought, &#8220;So can I!&#8221;</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>I made a whole $0.82 that year.</p>
</blockquote>



<p>I am not easily dissuaded though. I decided that a new theme would get me more revenue.</p>



<p>To build themes circa 2007, you had to learn the template system, the file structure, and the hooks baked into WordPress. </p>



<p>It was like a giant puzzle and I was so excited to be using my brain &#8211; I jumped in.</p>



<h3 class="kt-adv-heading8032_2a57d0-1a wp-block-kadence-advancedheading">Learning to Swim</h3>



<p>I read every single page in the WordPress.org docs. I spent 10–20 hours a week in the support forums, mostly asking for help &#8211; not giving much! </p>



<p>I learned to code by fixing real problems &#8211; it was challenging and the internet was full of quality resources.</p>



<p>I made big mistakes &#8211; I crashed countless sites! And in doing so, I learned what not to do. </p>



<p>I was in heaven. </p>



<p>Except for those all-nighters trying to fix something that I broke on a client&#8217;s site. </p>



<p>I learned from the best in the community &#8211; because back then, they were in the forums with me. I learned from friends and other bloggers. I learned from online articles (pre-YouTube days).</p>



<p>Along the way, I met a fellow mommy blogger who had a side business called Desperately Seeking WordPress. (Her blog was Desperately Seeking Sanity and she has the best sense of humour!) She needed help. I was available. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>At the time, our offer was simple: we would install WordPress, a theme, and a few plugins &#8211; and make it look nice &#8211; for $20. </p>
</blockquote>



<p>Eventually, she stepped back, and I got to take the reins. </p>



<p>That’s when I realized I hadn&#8217;t the foggiest idea how to run a real business. I started reading books like *E-Myth*, *Duct Tape Marketing*, and *Purple Cow*. I had no MBA, no startup capital. Just the desire to help other mommy bloggers not get ripped off by tech &#8216;gurus&#8217;.</p>



<h3 class="kt-adv-heading8032_f21016-32 wp-block-kadence-advancedheading">Building a Business While Falling Apart</h3>



<p>I’ve struggled with depression for my entire adult life. By 2006, I had three young children. By 2012, I was divorced. The work that had been a fun puzzle, now had to pay the bills.</p>



<p>I couldn’t disappear on bad days &#8211; my fledgling company had to be reliable! The clients needed stuff. So I hired my first contractor. She made more than I did most months.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>But I needed to know someone would be there for my clients when I couldn’t be. That was the first step toward building a team that would be better than any of us could have imagined.</p>
</blockquote>



<p>The behind-the-scenes work we do stays the same whether it is for celebrities or tiny fledgeling bloggers. And when we were kind, didn&#8217;t talk down to them, and were honestly helpful, they talked about us. And we became 100% referral-based.</p>



<p>So how do YOU get referrals? </p>



<p>I can&#8217;t tell you that &#8211; but &#8211; I know what works for us: radical honesty (even when it hurts our bottom line), genuine kindness and respect, and being the best at what we do. I believe with all my heart that our clients are in good hands.</p>



<p>And that honesty requires owning my mistakes. I wish I could say I don&#8217;t make them anymore but… radical honesty! </p>



<p>We always do what’s in the client’s best interest, even when it costs us money.</p>



<h3 class="kt-adv-heading8032_612593-f3 wp-block-kadence-advancedheading">The Invisible Work</h3>



<p>After about seven years, I made an intentional decision to hire women. I grew up in West Africa, and I’ve seen firsthand how empowering women lifts entire families and communities. </p>



<p>So we began funding microloans for women entrepreneurs in developing countries. The research shows that supporting women has a multiplier effect &#8211; and I’ve always had a soft spot for hard-working entrepreneurial free spirits.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>From the very beginning, we were a remote team. I&#8217;ve never been on my own &#8211; being reliable is a non-negotiable &#8211; I need the team.</p>
</blockquote>



<p>One of those teammates is Diane. I met her 14 years ago, just after she got married. She’s quiet, steady, avoids the spotlight &#8211; and she’s been one of the most important people in my life. We’ve built a business together through births, illness, life transitions &#8211; and I trust her completely.</p>



<p>That trust, that stability, is part of what we offer our clients. And it’s rooted in one simple idea: be kind. Treat everyone with dignity. Respect whatever expertise they bring, even if it’s not technical. Our job is to help their business succeed &#8211; not to impress them with ours.</p>



<h3 class="kt-adv-heading8032_4343ee-e9 wp-block-kadence-advancedheading">Burnout, Boundaries, and Pricing with Purpose</h3>



<p>In 2014, I burned out — hard. I had thrown myself into social media marketing. I spent $1000&#8217;s on courses and really tried to implement the suggestions. Guest post twice a month? Check. Two hours connecting on Facebook every day? Check. Write three posts a week? Check. </p>



<p>I did all the things. &#8216;Cause they told me to.</p>



<p>I think it only took me three months to crash and burn. I got so sick, my body was done. I spent two full weeks in bed.</p>



<p>That’s when I learned my limits. And it’s when I learned to stay focused. </p>



<p>Today, all decisions go through a, &#8220;What does this do to the bottom line?&#8221; framework. And by bottom line &#8211; I mean money, of course, but without sacrificing service, honesty or the trust of our clients.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Part of our growth meant making pricing decisions that felt terrifying. </p>
</blockquote>



<p>We raised prices from $20/setup to $40/hour. We lost 20% of our clients — and I expected to lose more. But the ones who stayed? They valued us. They paid happily. They referred us to others.</p>



<p>Later, we raised it again — to $75/hour. I braced for another drop. It never came. </p>



<p>Instead, I got emails thanking me! Clients said they were glad we were finally charging what we were worth! I&#8217;m still shocked about it. Who knew I&#8217;d have warm fuzzy stories on the day we raised our prices?</p>



<p>Eventually, we raised it to $89/hour. Still below the $110–$120 that custom coders charge. Because we’re not &#8220;true coders.&#8221; We’re *practical coders.* We solve real problems, fast, for people who trust us.</p>



<p>And that trust is priceless.</p>



<h3 class="kt-adv-heading8032_3e2391-b7 wp-block-kadence-advancedheading">On Staying True in a Shifting World</h3>



<p>Through all of this &#8211; the growth, the pivots, the grief and healing &#8211; this little WordPress agency has offered me survival.</p>



<p>The ability to work from home. To be present for my kids. To build something real while living with depression. To build a team based on trust, not hustle.</p>



<p>I can only recommend something that I truly believe is the best option for my clients. That’s why WordPress matters to me. It’s extensible, open-source, secure, supported, owned and portable. Currently it is the best option for my clients. And I can stand behind that.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>A sign sits on my desk. It reads: &#8220;Who can I serve today?&#8221;</p>
</blockquote>



<p>That’s the constant. That’s the compass.</p>



<p>Today, I volunteer in the WordPress support forums &#8211; the same ones I learned from. I volunteer in the community to give back. I’m sharing my story, not to teach anyone how to succeed, but to say: it’s okay to build slow. To price based on value, not hype. To grow into leadership without chasing fortune.</p>



<p>There are still chapters unfolding in my story. Some endings haven’t revealed themselves yet. But I know this much:</p>



<p>I stayed.</p>



<p>And through WordPress, I learned that staying — quietly, kindly, steadily — can be its own kind of success.</p>


<section class="wp-block-newsletterglue-group" style="padding-top: 10px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; margin-top: 0px; margin-bottom: 0px;"><div class="kb-row-layout-wrap kb-row-layout-id8032_debf65-8f alignnone kt-row-has-bg wp-block-kadence-rowlayout"><div class="kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top">

<div class="wp-block-kadence-column kadence-column8032_e460f1-bd"><div class="kt-inside-inner-col">
<h2 class="kt-adv-heading8032_9cab8b-2f wp-block-kadence-advancedheading" id="work-environment">Cathy&#8217;s Work Environment</h2>



<p>We asked Cathy for a view into her development life and this is what she sent!</p>


	<div class="hotspots-image-container">
		<img alt="Cathy&#8217;s Desktop" class="hotspots-image skip-lazy" height="1540" src="https://heropress.com/wp-content/uploads/2025/07/cathy_mitchell_desk.webp" width="2330" />
	</div>




<p class="kt-adv-heading8032_4d55ad-0f wp-block-kadence-advancedheading has-theme-palette-9-background-color has-background">HeroPress would like to thank <a href="https://wpdrawattention.com/">Draw Attention</a> for their donation of the plugin to make this interactive image!</p>
</div></div>

</div></div></section>

<p>The post <a href="https://heropress.com/essays/the-remote-team-who-raised-me/">The Remote Team Who Raised Me</a> appeared first on <a href="https://heropress.com">HeroPress</a>.</p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 09 Jul 2025 15:00:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:14:"Cathy Mitchell";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:6;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:97:"WPTavern: 176 – Héctor de Prada on the Power of Local WordPress Meetups in Community Building";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:48:"https://wptavern.com/?post_type=podcast&p=197433";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:110:"https://wptavern.com/podcast/176-hector-de-prada-on-the-power-of-local-wordpress-meetups-in-community-building";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:45483:"<details>Transcript<div>
<p>[00:00:19] <strong>Nathan Wrigley:</strong> Welcome to the Jukebox Podcast from WP Tavern. My name is Nathan Wrigley.</p>



<p>Jukebox is a podcast which is dedicated to all things WordPress. The people, the events, the plugins, the blocks, the themes, and in this case the power of local WordPress Meetups in community building in Spain.</p>



<p>If you&#8217;d like to subscribe to the podcast, you can do that by searching for WP Tavern in your podcast player of choice, or by going to wptavern.com/feed/podcast, and you can copy that URL into most podcast players.</p>



<p>If you have a topic that you&#8217;d like us to feature on the podcast, I&#8217;m keen to hear from you and hopefully get you, or your idea, featured on the show. Head to wptavern.com/contact/jukebox, and use the form there.</p>



<p>So on the podcast today we have Héctor de Prada.</p>



<p>Héctor is one of the founders of Modular DS, a tool for managing multiple WordPress websites. But his contributions to the WordPress community go far beyond his day job. Based in Spain, he&#8217;s been involved in creating and developing websites for years, and has immersed himself in the WordPress community, attending numerous WordCamps and Meetups in various cities.</p>



<p>More recently, he&#8217;s been co-organizing the WordPress Meetup in Leon, a city in northern Spain, which has seen impressive growth and engagement since its revival after the pandemic.</p>



<p>Héctor shares why he volunteers his free time to organize these community events, and the impact Meetups can have, not only for individual learning, but for revitalizing local tech ecosystems.</p>



<p>We discuss what makes a successful Meetup, how his team approaches event planning, rotating roles so nobody feels the pressure to attend every time, and how sponsors and local venues help make it all happen.</p>



<p>Héctor explains how their Meetup group draws diverse attendees, from students and marketeers, to business owners and agencies. And how they&#8217;ve experimented with differing formats and topics to keep things fresh and inclusive. Whether it&#8217;s inviting guest speakers from digital businesses, running panel forums, or focusing on networking opportunities for job seekers and entrepreneurs, he highlights the power of community in building connections that exist beyond WordPress.</p>



<p>We cover everything from the practicalities of finding venues and sponsors, to managing team workflows and keeping the events welcoming and approachable.</p>



<p>If you ever thought about starting a WordPress Meetup in your city, or want to bring new energy to an existing group, this episode is for you.</p>



<p>If you&#8217;re interested in finding out more, you can find all of the links in the show notes by heading to wptavern.com/podcast, where you&#8217;ll find all the other episodes as well.</p>



<p>And so without further delay, I bring you Héctor de Prada.</p>



<p>I am joined on the podcast by Héctor de Prada. Hello, Héctor.</p>



<p>[00:03:20] <strong>Héctor de Prada:</strong> Hello, Nathan. A pleasure to be here.</p>



<p>[00:03:22] <strong>Nathan Wrigley:</strong> We&#8217;re at WordCamp EU. It is in Basel. We are on the contributor day. And you are going to be giving a presentation about an experience that you have, I guess, on a monthly basis running an event. Let&#8217;s get into that in a moment. First of all, just introduce yourself, who you work for, what you do in the WordPress community outside of Meetups.</p>



<p>[00:03:41] <strong>Héctor de Prada:</strong> Okay, so I am Héctor de Prada. I am one of the founders of Modular DS, which is a tool to manage multiple WordPress websites. So that&#8217;s like my main occupation. But thanks to that, and also since way before, I have been involved with WordPress, creating websites, developing websites.</p>



<p>And for the past couple of years, or three years I could say, I have been also involved in the community. I&#8217;ve been in many WordCamps in Spain because as you know, in Spain, we have a lot of WordCamps. I&#8217;ve also been in many Meetups in different cities. I try to stay as much connected as I can to the community.</p>



<p>I also write a newsletter about the WordPress ecosystem in Spanish. And since a year and a half ago, I am also one of the co-organisers of the Meetup, and that&#8217;s what I&#8217;m going to talk about, well, Saturday in the WordCamp Europe in the talk I have.</p>



<p>[00:04:39] <strong>Nathan Wrigley:</strong> This is going to seem like a strange question because you know, on a very visceral level, you really understand why you do it, but I&#8217;m kind of keen to explain that to the audience. Why do you use up your free time organising WordPress events on a sort of voluntary basis? You know, you&#8217;ve given up lots of your free time, there&#8217;s no financial gain, you&#8217;re just doing it. Why do you do that?</p>



<p>[00:05:02] <strong>Héctor de Prada:</strong> Okay, well, I was thinking a lot about this question before and I came up with two different answers.</p>



<p>The first one is that since, like I said, I have been kind of part of the community for a few years, and I have been in many events outside of my city. I saw how the WordPress communities, how it feels, all the good things that come out of it. And then one of the main things I was always thinking when I was going to these events was like, why can&#8217;t we have this in our city for the people in our city to experience this, to have this type of connections, inspiration, learning, and so on? So that&#8217;s one of the first things.</p>



<p>And then it was also mixed with, I come from a small city in the north of Spain, and one of the things, many people say inside the city and outside of the city is that we don&#8217;t have many things anymore, okay. So it&#8217;s hard to explain, but like there is not much to do, a lot of young people leaves the city. So it&#8217;s kind of like depressing mood a little bit.</p>



<p>So it was also like, why don&#8217;t we try to do something in our city to try to start creating an ecosystem? And WordPress gave us the perfect excuse to also do that. Try to get people together, people in the tech world, which is what we do, talking about me and my partner, my friends, we are always talking about websites, technology, design. So it kind of all got together and we said, okay, let&#8217;s start doing the WordPress Meetups. And it&#8217;s been great so far.</p>



<p>[00:06:31] <strong>Nathan Wrigley:</strong> How long have you been actually involved in the one that you&#8217;re doing now?</p>



<p>[00:06:34] <strong>Héctor de Prada:</strong> The meet up in our city, we have been doing it for around year and a half now. So after the summer, we&#8217;ll do two years.</p>



<p>[00:06:40] <strong>Nathan Wrigley:</strong> I should probably say to the listeners that a Meetup, if you&#8217;ve never attended one, WordPress has a whole community outside of the software, who help create the software, but they also show up for social events and things like that. And the ones that you may have heard of are WordCamps, and they&#8217;re the big ones. That&#8217;s where we&#8217;re at right now. So they tend to be an annual thing, perhaps in a city or, we are at WordCamp Europe, which is an annual thing, which moves around Europe.</p>



<p>But the Meetups, which is what we&#8217;re talking about, that&#8217;s usually bound to a city or a town or something like that, and it&#8217;s much more regular and it&#8217;s probably happening in an evening. It&#8217;s not a whole day. It&#8217;s maybe, I don&#8217;t know, six o&#8217;clock till nine o&#8217;clock, something along those lines. And presumably using local talent, using the people in the community that you&#8217;ve got, drawing them in and trying to get them to do the presentations and all of the bits and pieces.</p>



<p>So if you don&#8217;t know anything about that dear listener, now you do. If there&#8217;s something close to you, if you actually log into your WordPress dashboard, there will be an area in the dashboard, if you put all of the panels on, if you turn them on, you&#8217;ll be able to see, hopefully it will geographically locate you and give you some intel as to that.</p>



<p>So tell us a little bit about the one that you&#8217;ve been doing. You said it&#8217;s been going for 18 months, or at least you have been involved for 18 months.</p>



<p>[00:07:53] <strong>Héctor de Prada:</strong> Actually it was already working before Covid, so for a couple of years before Covid. Then it was shut down. I wasn&#8217;t involved before Covid. I didn&#8217;t even know the WordPress community before Covid. And then it was like three years stopped. Yeah, like 18 months ago, we kind of restarted the Meetup.</p>



<p>[00:08:13] <strong>Nathan Wrigley:</strong> So how many people typically would attend your Meetup? Because yours is quite a big one. The one that we are at at the moment is ridiculously big. You know, it&#8217;s going to have several thousand. Nobody can expect those kind of attendance numbers. That would be extraordinary. What are the kind of numbers that you are seeing on a monthly basis?</p>



<p>[00:08:28] <strong>Héctor de Prada:</strong> Yes, so I was checking this for the presentation I&#8217;m giving on Saturday, and we have, in this 18 months, we don&#8217;t do it every month, okay, it is more like every couple of months, because we don&#8217;t do it in the summer or during Christmas, for example, in December. So it&#8217;s kind of like six, eight, a year. And we have an average attendance of 60 people.</p>



<p>I know it&#8217;s pretty big because like I said, I&#8217;ve been in many other places where having like 25 people, 30 people, is already like a huge success. And that&#8217;s what we were trying to accomplish at the beginning. Like, okay, let&#8217;s try to get 20 people here, 25 people, get together. And since the beginning it&#8217;s been like, yeah, like sometimes it&#8217;s 50 people, sometimes it&#8217;s like 75 people. And for us it&#8217;s like, sometimes we don&#8217;t even know, how is it possible? But sure, it&#8217;s very fulfilling and we&#8217;re very happy about it of course.</p>



<p>[00:09:16] <strong>Nathan Wrigley:</strong> And how do you sort of account for that? Do you email people? Do you have like a system? So for example, a lot of the Meetups will use a platform, which is called Meetup. You can go to meetup.com, and figure all of that out. But do you use a system like that to keep in touch with people and notify them that there&#8217;s a new one coming in June or July or whatever it may be?</p>



<p>[00:09:35] <strong>Héctor de Prada:</strong> Yeah, we use meetup.com to create the events and send the email communications to all the people that is subscribed to the group, or has been in one of the previous Meetups. And also, we always try to get people to follow us on social media because it is where, we have like a Twitter and Instagram account. It&#8217;s where we try to advance the new Meetups and give all the information and stuff.</p>



<p>And then we try different things also to get more people to come in. For example, we go kind of old school and we print some big flyers, okay, to put it on the walls. And we put it, for example, in the university, in the buildings the city hall has for technology companies. So we put them over there just for people, when they go to work or students, when they go to the university, they will just check it out. And maybe they will feel like going. So that&#8217;s also something we do.</p>



<p>[00:10:25] <strong>Nathan Wrigley:</strong> And where do you actually do it? Do you have the same venue every single time, or do you tend to move around?</p>



<p>[00:10:30] <strong>Héctor de Prada:</strong> No, we move around. This is very important because it, I think it&#8217;s one of the most important things when you are organising any kind of event, the venue where you&#8217;re actually doing it. And we are very lucky because, even when I was telling you that in our city it seems like not many things are being done. When you actually try to do something, everybody tries to help you.</p>



<p>So we have been offered many different venues from City Hall, from the university, from private companies, from the government, public buildings they have. So what we have tried to do is to do the Meetup in different places. So in case, at some point, we can do it in one of them, we will always be able to go to any of the other ones. And that has worked very well for us.</p>



<p>[00:11:12] <strong>Nathan Wrigley:</strong> Oh, nice, yeah. I think that&#8217;s not typical. I think usually it&#8217;s done in kind of the same venue and what have you.</p>



<p>My understanding also, and I could be wrong about this, but my understanding is that the Spanish WordPress community is actually one of the healthier ones, for want of a better word. It seems to be kind of thriving. I don&#8217;t know if I&#8217;ve just heard a story and that&#8217;s not true, but is that true?</p>



<p>[00:11:33] <strong>Héctor de Prada:</strong> No, I think it is. I think it is definitely, well, I was talking with somebody that is organising here at WordCamp Europe, and we were accounting for WordCamps made in Spain last year. And I think it was like 12 WordCamps in one year, only in Spain, which I could say is what the rest of Europe has in one year.</p>



<p>So it&#8217;s like pretty crazy. I think, we Spanish people, we just like to gather a lot and just meet each other. But also I think there are many Meetup groups in Spain that are doing a great job and have great numbers and do a lot of Meetups with really great speakers. So yeah, I would say in Spain there is a lot of community movement.</p>



<p>[00:12:14] <strong>Nathan Wrigley:</strong> I&#8217;m quite jealous. The part of the world where I live in the UK, Covid really had a profound impact. The Meetups kind of disappeared, and in some cases came back, but in most cases they didn&#8217;t. I think maybe the year 2025 was a bit of a watershed. There&#8217;s a few I think that maybe are on the cusp of returning.</p>



<p>So it can&#8217;t just be you. I&#8217;m presuming that there&#8217;s a whole bunch of people, a team, if you like. And how does that work? How many people regularly are helping you out, and do you have, I don&#8217;t know, different roles that you perform? Like, you&#8217;re in charge of the emails, you&#8217;re in charge of the venue, you&#8217;re in charge of the snacks and whatever it may be. How many people on the team and how do you manage all that?</p>



<p>[00:12:49] <strong>Héctor de Prada:</strong> We are six people currently, and what we tried since the beginning was to find other people that could be complimentary to us. And like you said, we try to split responsibilities. So one of us, who is very good with social media, is the one taking charge of posting everything in social media so everybody sees what we are doing.</p>



<p>Other person is always in charge of the networking we do afterwards to get the catering, even the venue we have to change somewhere, because it&#8217;s somebody who has a lot of contacts in that space.</p>



<p>Also somebody&#8217;s in charge of sponsors. Somebody&#8217;s in charge of creating the Meetups. Somebody&#8217;s in charge of the design.</p>



<p>Okay, so we try to split the responsibilities, but at the same time, and this is not so obvious, I think what we have also found very important is that, even when each one has a responsibility, we also try to rotate every once in a while. So, for example, when we started, everybody thought or supposed I was always going to be the one presenting, because I&#8217;m kind of more used to speaking in public. One of the first things we decide is that every day one of us was going to present the Meetup. So in case I&#8217;m missing or anybody else is missing, the Meetup will work exactly the same.</p>



<p>Because we don&#8217;t want this to feel like an obligation, like every member of the team has to be every single Meetup no matter what, because it&#8217;s not a job. You said it. This is like a volunteer thing. We do it for the community. So if at some point something happens with life, you have to take your kids to school or anything, well, the rest of the team will be able to take charge.</p>



<p>[00:14:27] <strong>Nathan Wrigley:</strong> So everybody kind of rotates things around so that if somebody&#8217;s, I don&#8217;t know, unwell during that day, somebody can slot in. Yeah, that&#8217;s kind of an interesting approach.</p>



<p>[00:14:35] <strong>Héctor de Prada:</strong> Exactly. Yeah, the same with like organising the networking and the catering afterwards, taking charge of cleaning everything up afterwards. We try to rotate everything.</p>



<p>[00:14:44] <strong>Nathan Wrigley:</strong> There&#8217;s so much that goes into these events. So let&#8217;s just go through the little laundry list of things that you have to achieve. Now, you may do some of these, you may not. But I guess it&#8217;s things like booking the venue has to be done. Maybe there&#8217;s a payment that needs to be involved with that. You have to presumably have an email list. You&#8217;ve got social media accounts. You&#8217;ve got ordering the food, tidying up at the end.</p>



<p>[00:15:03] <strong>Héctor de Prada:</strong> You need to talk with the sponsors as well to get any merchandise they might send to you to give to the attendees. Also, you have to select the speakers and then prepare it with the speakers.</p>



<p>[00:15:14] <strong>Nathan Wrigley:</strong> So do you work with the speakers as well? Because my experience is that often speakers can be, if they&#8217;re new to it, they can be a little bit nervous. And so having some sort of, coaching is maybe the wrong word, but some intuition as to, yeah, you&#8217;re on the right lines. That, I think, is what our audience will like.</p>



<p>[00:15:27] <strong>Héctor de Prada:</strong> It depends a lot on the speaker, because it&#8217;s true that there are some speakers that are very, I&#8217;m not going to say professional, but they&#8217;re like very used to, they are experts in something and they&#8217;re very used to give talks about it. So you basically can&#8217;t tell them anything because they already know more than you do, okay, about how to do it right.</p>



<p>But it&#8217;s true that one thing that we like to do a lot is that we don&#8217;t only try to do like the normal talks you might see in a WordCamp, where somebody is an expert on a field, and they just give you a talk trying to allow you to learn something. But we also like to do more experience stuff like trying to look for inspiration instead of learning.</p>



<p>So for example, like you do with the podcast, nowadays I think podcasts are a trend because we like to listen and understand the stories behind people, how they are doing something, or how did they come to this? So for those kind of talks, it&#8217;s true that we kind of give them a guide. So, we would like you to talk about this.</p>



<p>Or sometimes if we do, the last meeting we did, it was like a forum with three different businesses, and we wanted to just talk about their experience. And what we did is try to get like the main questions we wanted them to answer. And we gave them to them previously so they could kind of prepare a little bit of what we wanted to talk about. Because they didn&#8217;t have any presentation or anything, it was just like a normal conversation, like an interview more. So in those cases, it takes much more work than if it&#8217;s just somebody with a presentation and they do their thing.</p>



<p>[00:16:58] <strong>Nathan Wrigley:</strong> Yeah, i&#8217;ve been to Meetups where they&#8217;ve done a whole variety of different things, not all at the same evening. So for example, they might do two presentations of, I don&#8217;t know, 45 minutes each, and then have a bit of networking in the middle.</p>



<p>Some places do social things where it&#8217;s just, maybe there&#8217;ll be an hour where you just do the networking and hang out. I&#8217;ve been to Meetups where they do prize giveaways and quizzes and things like that.</p>



<p>So there isn&#8217;t just one model. You can sort of mix it around a little bit and offer things which the audience, I don&#8217;t know, it&#8217;s a bit more entertainment, if you like.</p>



<p>[00:17:29] <strong>Héctor de Prada:</strong> Of course. I think it&#8217;s very nice to try different formats, different things. Because also people, when we have a lot of, I guess like many Meetups, we have many regular people, they go to almost every Meetup, so I think it&#8217;s also good for them to try different things so it&#8217;s more like, a little bit unexpected. You get a surprise of what you are getting out of it, and it&#8217;s not always the same thing.</p>



<p>[00:17:51] <strong>Nathan Wrigley:</strong> Have you had things which you&#8217;ve tried maybe recently in the last six months or something that you just thought, oh, let&#8217;s give that a go. And if so, maybe you could share that.</p>



<p>[00:17:59] <strong>Héctor de Prada:</strong> Well, the last one we did, at the beginning it was a little, it wasn&#8217;t so much about the format because we had already tried that because it was like, yeah, like four people from three different businesses talking about how they achieved what they have done. But the crazy thing is it was the topic about it. Because it was three different gastronomic business, which at the first time you could say, okay, so what does this have to do with WordPress?</p>



<p>But it was very interesting because those three businesses, it was a social media influencer only talking about restaurants, a food influencer. Then it was a restaurant that has digitalised all the experience inside the restaurant. So you get to the restaurant and you order the food with your phone, everything, so no people around you or anything.</p>



<p>And then the other one was an e-commerce site made with WooCommerce of one of the biggest meat sellers in Spain. It&#8217;s a big restaurant just to eat meat. The type of meat, like you pay a lot for that. And they are really crushing it, like with their e-commerce made with WooCommerce.</p>



<p>So it was all very digital, but at the same time, the topic was like gastronomic and at the beginning people was like, doesn&#8217;t feel like a WordPress Meetup. It was amazing. People loved it.</p>



<p>[00:19:08] <strong>Nathan Wrigley:</strong> It worked.</p>



<p>[00:19:08] <strong>Héctor de Prada:</strong> Yes, yes. Because their stories were so interesting and how they kind of mixed with the technology and how it started, the pains they had at the beginning, trying to introduce that technology and how it has now changed their business. It was super interesting.</p>



<p>[00:19:23] <strong>Nathan Wrigley:</strong> How did you come up with the idea of that particular one? Because that&#8217;s so curious. Because usually it is, there&#8217;s a strong WordPress focus to the ones that I&#8217;ve been, you know, there&#8217;s a presentation, it&#8217;s WordPress, there&#8217;s a Lightning Talk, it&#8217;s WordPress, there&#8217;s another presentation, it&#8217;s WordPress.</p>



<p>But that one, there&#8217;s a thread running through it, which is technology. Sounds like the audience really liked it. And there was obviously that WooCommerce bit at the end that you mentioned. How did you even conceive of that topic?</p>



<p>[00:19:47] <strong>Héctor de Prada:</strong> Yeah. Well, it wasn&#8217;t only that WooCommerce, like the three of them had started somehow the business with some WordPress, a WordPress website, a WordPress blog, a WooCommerce, okay. It wasn&#8217;t the main focus of the talk, but they all had something to do. And that wasn&#8217;t intentional, like it just came out because I guess WordPress, you want it or not, it is behind most of the worldwide web. So it was very nice.</p>



<p>But one thing talk about in the presentation here at WordCamp Europe is that I think that WordPress is what unites us, but I don&#8217;t think it should be what separates us. So I think, thanks to WordPress powering like 40 something percent of the worldwide web, it allows us to talk about almost everything related to the digital world. It will always be somehow related to WordPress.</p>



<p>So it&#8217;s true that we don&#8217;t go too deep into the technical WordPress part. It&#8217;s always somehow related, but we feel like our audience is not like WordPress experts, to say it like that. We have a lot of students, marketing students, marketing agencies, entrepreneurs. And then we talk more about like the digital business part, the online marketing. It&#8217;s always somehow related to WordPress, but it has worked for us very well to kind of get a broader view and not go so specific, to get also like more attendees coming, and they all feel like they understand, that they can apply that to themselves.</p>



<p>Of course we always talk a lot about WordPress. It&#8217;s a WordPress Meetup. But I think that&#8217;s also important because even us that we are so deep in the community, I feel like WordPress is like my main thought like 24/7 almost. But for most people outside the community, it is not like that. And I think one important thing in WordPress is that we try to get as many people to the community as possible, and they don&#8217;t have to be such experts.</p>



<p>[00:21:36] <strong>Nathan Wrigley:</strong> Yeah, it&#8217;s kind of interesting because if you show up and you did two presentations back to back and it was all about, I don&#8217;t know, WP-CLI, followed by some other very technical thing, it may be that half of the audience, maybe more, maybe 70% of the audience would think, I don&#8217;t really understand that. And managing that is quite difficult.</p>



<p>So mixing it up a little bit and making sure it&#8217;s not too technical for one of the evenings. Maybe you have a technical one now and again, but you&#8217;ve got to think a lot about the audience and what they are prepared to consume.</p>



<p>So, pivoting slightly, I guess this cannot be entirely free. So I know that you give your labour for nothing. But presumably there is a cost somewhere along the line, whether that&#8217;s for snacks or whether it&#8217;s for hiring of the venue. How do you finance your Meetup? How does that work?</p>



<p>[00:22:22] <strong>Héctor de Prada:</strong> Yeah, we have sponsors that help us with the cost. We basically, our costs are only the flyers, which is like almost nothing because we don&#8217;t do that many, and then the food and drinks for the networking. So we always try to have two sponsors. One, it&#8217;s always a local company, and then one is a workers community company.</p>



<p>I think in Spain at least, because I don&#8217;t know outside of Spain, but there are many companies, mostly hosting companies that really want to sponsor these kind of events. And since the beginning, we have had a lot of offers of companies trying to sponsor. I guess it&#8217;s also important that we have good attendee numbers and stuff. But I think they sponsor most of the Meetups in Spain. That&#8217;s what we use to cover the cost.</p>



<p>[00:23:08] <strong>Nathan Wrigley:</strong> How does the sponsorship actually work? Because obviously they couldn&#8217;t realistically be paying you directly and then you then move the money to buying the snacks and the pizzas or whatever it may be. How does that sponsorship actually work? Who is the person that&#8217;s receiving the money and distributing it and so on?</p>



<p>[00:23:23] <strong>Héctor de Prada:</strong> Well, normally what we do is that, since our costs are very located in, I would say 90% or maybe 95% of the budget goes to the food and drinks for the catering, which we have also tried different companies and different stuff. So they give us a bill and then we&#8217;ll send it to the sponsors so they pay the bill. I know it&#8217;s not the easiest way. Sometimes because of the company requirements of the food, we have to give the money first and then ask the sponsor to give us the money.</p>



<p>Well, I guess as long as you are, for example, us of course, in the team, as long as you are completely transparent and you show where all the money goes and what is being spent. At least for us, I&#8217;m sure for you guys in London, for example, it has to be way different because it&#8217;s another city, other kind of prices and everything. But for us, the money sums are really, really small. Even when we have a 60 person Meetup, the money is really small. It just gives you for that, for like the food and that. We are still waiting to try to do some T-shirts for the team, but we haven&#8217;t still gotten the money for that.</p>



<p>[00:24:27] <strong>Nathan Wrigley:</strong> So you tend to get a sponsor on board to sponsor a thing, a component of the Meetup. So it might be that this week hosting company X is sponsoring the food. Or such and such a company is sponsoring the venue. It&#8217;s like in one door out the other. Somebody on your team will pay for the food, but then send the receipt, the bill if you like, to the sponsor, who will then reimburse them for all of that.</p>



<p>[00:24:50] <strong>Héctor de Prada:</strong> Yeah, could be. For example, we have never paid for the venue. We have always had agreements, it&#8217;s always free for us so far. Yeah, it&#8217;s basically always the food. And the sponsor, even the local company has changed a few times.</p>



<p>But for example, I would say the WordPress community company, that for us is a hosting company, that also sponsors many WordCamps in Spain, we have always had the same one because since the beginning they told us, we want to sponsor, and as long as you keep doing it, we will send you the money or give us the bills.</p>



<p>And also the sponsors we&#8217;ve had, they always give us gifts or merchandise for the attendees or maybe to give something like a raffle and then somebody can win a prize or something better. Or they even give us gifts for the speakers as well. So they always treat us very good.</p>



<p>[00:25:37] <strong>Nathan Wrigley:</strong> So is there like a magic number that makes the event work? So you said that sometimes 70, sometimes 55, something like that. I mean, they seem like pretty good numbers. If you stand in front of that many people, that can be quite intimidating, you know, that&#8217;s a lot. Obviously other places will have smaller numbers. Maybe some places will have bigger numbers.</p>



<p>Is there some feeling in your head about, if the numbers dipped down to 20, it&#8217;s not worth doing it anymore or anything like that? Do you have any of those thoughts? Because I know that a lot of people who&#8217;ve put these events on before, they get quite demoralized because they begin it, three people show up and they do it again, and then two people show up and maybe five people show up. And it kind of seems like a lot of effort. There&#8217;s not much interest. I&#8217;m trying my hardest, I&#8217;m doing all the things which I think are the right things to do. Any thoughts on that?</p>



<p>[00:26:22] <strong>Héctor de Prada:</strong> Yeah, well, I think it&#8217;s definitely challenging because I&#8217;ve seen, like you said, many cities where this is the case. It&#8217;s really hard for them to get people to attend. I think the main focus for us, when we got all the team together, we always try to think about new things to bring new people in. Maybe talking with the teachers at the university, or maybe going to a business group to present them the Meetup, or maybe get a collaboration with a social media influencer in the city, so he can talk about the Meetups, even be a speaker and then post it on socials. So it is definitely, I think it&#8217;s the most important thing.</p>



<p>In my experience, i&#8217;ve been in many Meetups and when you are more than 20 people, I could say, it already feels pretty good. Because more than 20 people, it&#8217;s already a good number of people to network, to talk, to give a presentation in front of. So more than 20 people, I think it&#8217;s already a good number. When you go below 20, below 10, I guess it&#8217;s pretty hard.</p>



<p>[00:27:19] <strong>Nathan Wrigley:</strong> You sort of feel that it&#8217;s a lot of work and, you know, it&#8217;s difficult to justify that work if the interest is not there.</p>



<p>So speaking of that then, is there a support, like a wider WordPress Meetup support network? So where you can go and dip in for ideas, advice. Obviously if you&#8217;re listening to this podcast, that&#8217;s one avenue you might get it. But is there a place that you can go, like a Slack channel or a wordpress.org forum or something like that where you could go and gain advice, or some leadership from people like you who&#8217;ve been doing this before?</p>



<p>[00:27:48] <strong>Héctor de Prada:</strong> Yeah, well, there are different places. In the day to day, we have the Slack channel, for example, in the Spanish community inside the WordPress Slack, we have a channel for the Spanish Meetups. So every time we have a problem, we had one a few weeks ago with the Meetup platform, for example, or things like that. We always go there and there is always somebody from the community team replying, and telling you, and helping you, whatever you need.</p>



<p>Also I think it&#8217;s very important. It was huge for us at the beginning, before we started doing the Meetup of our city, again, when we started now 18 months ago, it was very helpful to go to WordCamps and in the Contributor Day, like today, go to the community tables and talk with the people that has experience organising Meetups. And they were the ones, for example, when we started it was like super easy because people like Rocío Valdivia, Juan Hernando, who are very deep into the community team for many years, they have been there. They just help us do all the process, all we needed to know. They gave us all the basic advice to know, screwed up at the beginning.</p>



<p>So I would say, if somebody&#8217;s looking to organise a Meetup, the first thing they should do is to go to a WordCamp event, or maybe a Meetup in a different city, and talk with people that is organising a Meetup to just get some of the real experience, because I think that&#8217;s invaluable.</p>



<p>[00:29:08] <strong>Nathan Wrigley:</strong> How do your team actually meet up then? Do you have like a regular weekly gathering, like a session where you all gather on zoom or something like that?</p>



<p>[00:29:16] <strong>Héctor de Prada:</strong> It&#8217;s more like on a monthly basis. So since we do Meetups every two months, let&#8217;s say on average. So one month we do the Meetup, and then the next month we got all together. It may be all together on the same place, because since it&#8217;s a small city, we are all kind of close to each other, or it might be on Zoom. And then we do like the feedback of the previous Meetup to talk about what went well, what could be improved, and at the same time to prepare the next Meetup.</p>



<p>So it&#8217;s kind of one month, Meetup, one month, all get together to talk about it. Next month, Meetup, next month, get together to talk about it.</p>



<p>In one hour we can talk about the previous Meetup and organise the next one. And I&#8217;m not talking about organise everything, I&#8217;m talking about kind of like divide the responsibilities and say, okay, so I&#8217;m going to do this, you&#8217;re going to do this. And then on a WhatsApp group, we are just letting each other know like, okay, I already booked the venue. Okay, I already talked with the speaker, and he said, okay. Okay, I already designed the flyer or the image and we are good to go, and things like that.</p>



<p>[00:30:14] <strong>Nathan Wrigley:</strong> From what you&#8217;re saying, it sounds like it&#8217;s kind of got a homely, family sort of vibe to it.</p>



<p>[00:30:20] <strong>Héctor de Prada:</strong> Yes. We try to have that casual vibe, like friendship vibe. Like, even in the Meetups, when people come at the beginning when other people on the team was speaking at the beginning, like presenting the Meetup, and talking a little bit about what is the WordPress community, or what do we do here, what type of events are in the WordPress community and everything. They were a little bit nervous about it because they haven&#8217;t done it before or seen it as many times as I have seen it.</p>



<p>And I would always tell them, this is like a friend group. If you say something wrong, you just say naturally, okay, this is my mistake. I should have said that this way and not that way, okay. And just do it in a casual vibe. Like, most of the people, like I said, since they&#8217;re regular people, we kind of know everybody. We all know each other because we do, if we do like one hour talk, then we always have like one hour, or hour and a half, of networking. So almost everybody knows each other.</p>



<p>So it&#8217;s kind of more like, yeah, like friendship, not family, but friendship. We try to do that also so everybody who comes feels comfortable and not afraid to speak with anybody or even to ask something during the Meetup or anything. Because it feels really like it&#8217;s just a group of friends and you are part of those friends and everybody&#8217;s welcome.</p>



<p>[00:31:35] <strong>Nathan Wrigley:</strong> Yeah, that feels really nice. The Meetup that I attend, we also have this idea of kind of networking and that seems to be quite a powerful thing as well. So people don&#8217;t just show up to make friends, which is nice. They don&#8217;t just show up to watch the presentations. Again, it&#8217;s nice, but they also show up, and there&#8217;s an opportunity to share stories about, I&#8217;m looking for work, I&#8217;ve got a job that I need to be filled.</p>



<p>And just the other month we had a story about somebody who, you know, started a new job because of a conversation that had happened at that event. Just wondered if that kind of thing was something that you have noticed happens with yours as well?</p>



<p>[00:32:09] <strong>Héctor de Prada:</strong> Definitely, definitely. One of the first things I was telling, for example, in the first Meetup we have, I think a few students came from the university. And I was like, this is where you have to be because you&#8217;re studying for marketing, and here there are like, I don&#8217;t know, like seven or eight agency owners that are going to be looking for the next people to work on their marketing team. So this is the perfect place. You are not going to meet them any other place. You&#8217;re not going to go on the street and just cross them all. So you have a marketing agency. I want to work on a marketing agency. No, it&#8217;s not going to happen.</p>



<p>But here you just come here for free, you learn something, and also you can talk to these people directly. You can tell them about your life. They can tell you about theirs. Maybe there is a match. So yeah, I hope, I know a couple of stories that have worked, but I hope, I really hope it will be like the best thing for the Meetup that a lot of good things, it&#8217;ll either be collaborations, hirings, partnerships, anything come out of the Meetup. Because that would be great for the ecosystem, for the people in our city, for the people attending the Meetups. So that would make us so, so happy.</p>



<p>[00:33:11] <strong>Nathan Wrigley:</strong> It&#8217;s one of those things that I think many people might find it a little bit nervous to go for the first time. You know, just the idea of sitting in a room full of strangers. You can do just that. You can sit at the back and you don&#8217;t have to contribute. You don&#8217;t have to put your hand up and say anything. So the idea of just showing up, lurking maybe a few times, just seeing what the whole situation is like. And you never know, something completely revolutionary might happen.</p>



<p>[00:33:33] <strong>Héctor de Prada:</strong> Yeah. There is always, sometimes when you go to the networking part, and you don&#8217;t know anybody, the normal thing is that you probably go to a corner just by yourself, okay. Or just close to a wall and just stay there. But the normal thing in this type of events, or I would say almost any event, is that you&#8217;re going to find other people next to the wall, next to you, because they also don&#8217;t know anybody.</p>



<p>And those are the first people you&#8217;re going to meet. And you&#8217;re going to create that relationship. And from that you&#8217;re going to start moving to other groups. Somebody&#8217;s going to come that knows one of you. And that&#8217;s how it starts. So it might feel intimidating at the beginning, but then once you get into it, also, this is especially in the WordPress community, it&#8217;s very easy to start to know people.</p>



<p>[00:34:17] <strong>Nathan Wrigley:</strong> Yeah. It&#8217;s just occurred to me, Héctor, that we&#8217;re sort of 40 minutes in and I haven&#8217;t said, where is it? Where is your Meetup?</p>



<p>[00:34:24] <strong>Héctor de Prada:</strong> Okay, yeah, true. Well, it&#8217;s in the city of León, which is in the north of Spain. It&#8217;s a small city in the north of Spain.</p>



<p>[00:34:31] <strong>Nathan Wrigley:</strong> And I will make sure, when I put the show notes together for this episode, if you go to wptavern.com and search for the episode with Héctor in it, I&#8217;ll make sure to link any resources that you put in my way. I&#8217;ll make sure to link so that if you are in that neck of the woods, you can check it out, but also I&#8217;ll make sure to link to other more wider resources.</p>



<p>[00:34:50] <strong>Héctor de Prada:</strong> If somebody that listens to this at any point thinks that me or anybody on our Meetup group can help them, if they are trying to create a Meetup, or doing a Meetup and trying to change something, please reach out to us and of course we&#8217;ll be happy to talk with anybody, if our experience can help in any way.</p>



<p>[00:35:10] <strong>Nathan Wrigley:</strong> That&#8217;s perfect. I will make sure to put some links to your bio as well. That&#8217;s absolutely wonderful. Héctor de Prada, thank you so much for chatting me today.</p>



<p>[00:35:17] <strong>Héctor de Prada:</strong> Thank you, Nathan.</p>
</div></details>



<p>On the podcast today we have Héctor de Prada.</p>



<p>Héctor is one of the founders of Modular DS, a tool for managing multiple WordPress websites, but his contributions to the WordPress community go far beyond his day job. Based in Spain, he’s been involved in creating and developing websites for years, and has immersed himself in the WordPress community, attending numerous WordCamps and Meetups in various cities. More recently, he’s been co-organising the WordPress Meetup in León, a city in the north of Spain, which has seen impressive growth and engagement since its revival after the pandemic.</p>



<p>Héctor shares why he volunteers his free time to organise these community events, and the impact Meetups can have, not only for individual learning, but for revitalising local tech ecosystems.</p>



<p>We discuss what makes a successful Meetup, how his team approaches event planning, rotating roles so nobody feels the pressure to attend every time, and how sponsors and local venues help make it all happen.</p>



<p>Héctor explains how their Meetup group draws diverse attendees, from students and marketers to business owners and agencies, and how they’ve experimented with differing formats and topics to keep things fresh and inclusive. Whether it’s inviting guest speakers from digital businesses, running panel forums, or focusing on networking opportunities for job seekers and entrepreneurs, he highlights the power of community in building connections that extend beyond WordPress.</p>



<p>We cover everything from the practicalities of finding venues and sponsors, to managing team workflows and keeping the events welcoming and approachable.</p>



<p>If you’ve ever thought about starting a WordPress Meetup in your city, or want to bring new energy to an existing group, this episode is for you.</p>



<h2 class="wp-block-heading">Useful links</h2>



<p>Héctor&#8217;s presentation at WordCamp Europe 2025: <a href="https://europe.wordcamp.org/2025/session/tips-for-hosting-a-successful-wp-meetup-in-your-city/">Tips for hosting a successful WP meetup in your city</a></p>



<p><a href="https://www.meetup.com/es-ES/leon-wordpress-meetup/">WordPress León meetup</a></p>



<p><a href="https://www.linkedin.com/in/hectordeprada/overlay/about-this-profile/">Héctor on LinkedIn</a></p>



<p><a href="https://profiles.wordpress.org/hdeprada/">Héctor on wordpress.org</a></p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 09 Jul 2025 14:00:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:14:"Nathan Wrigley";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:7;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:49:"Open Channels FM: What Is Fractional Sponsorship?";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"https://openchannels.fm/?p=99195";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:55:"https://openchannels.fm/what-is-fractional-sponsorship/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:386:"As described by longtime contributor Tammie Lister in a recent episode of Open Talk on Open Channels, fractional sponsorship is when a contributor is sponsored part-time by multiple organizations (or individuals). Rather than being fully funded by one company or acting as a purely unpaid volunteer, fractional contributors assemble support from several interested parties. As [&#8230;]";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 09 Jul 2025 10:46:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:8;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:55:"Jonathan Desrosiers: 12 Years Contributing to WordPress";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:38:"https://jonathandesrosiers.com/?p=5028";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:74:"https://jonathandesrosiers.com/2025/07/12-years-contributing-to-wordpress/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:10209:"<p class="">Twelve years ago today, I received <a href="https://core.trac.wordpress.org/changeset/24588">my very first props for contributing to WordPress Core</a>. I had no idea at the time, but it turned out to be a transformative milestone in my career.</p>



<p class="">In WordPress, community participants receive credit for contributing to a given change or deliverable by receiving “props.”</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="">Props should be given to all those who contributed to the final commit, whether through patches, refreshed patches, code suggested otherwise, design, writing, user testing, or other significant investments of time and effort. Usernames are parsed for the credits list and WordPress.org profiles.</p>



<p class="is-style-text-subtitle is-style-text-subtitle--2"><a href="https://make.wordpress.org/core/handbook/best-practices/commit-messages/#props">WordPress Core Handbook</a></p>
</blockquote>



<p class="">Before each release, the names of all contributors to that version are collected and added to the Credits API, which powers the Credits page in the WordPress dashboard. I&#8217;m proud to have been listed on that page for 22 consecutive releases starting with 4.7, and 27 of the 33 releases overall since my first credited contribution in <a href="https://wordpress.org/news/2013/10/basie/">WordPress 3.7 “Basie,”</a> alongside 210 other contributors.</p>



<figure class="wp-block-image size-large wp-lightbox-container"><img alt="" class="wp-image-5292 not-transparent" height="1024" src="https://jonathandesrosiers.com/wp-content/uploads/2025/07/WordPress-6.8-Credits-Screen-1024x1024.png" width="1024" /><button class="lightbox-trigger" type="button">
			<svg fill="none" height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg">
				<path d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" fill="#fff">
			</svg>
		</button><figcaption class="wp-element-caption">The WordPress 6.8 Credits page.</figcaption></figure>



<p class="">To celebrate my <a href="https://jonathandesrosiers.com/2023/07/10-years-of-contributing-to-wordpress/">ten year anniversary</a>, I started publishing a blog post each year. In past editions, I&#8217;ve focused a <a href="https://jonathandesrosiers.com/2023/07/10-years-of-contributing-to-wordpress/">bit on my WordPress origin story</a> and looking at <a href="https://jonathandesrosiers.com/2024/07/11-years-contributing-to-wordpress/">some &#8220;props&#8221; related data</a>.</p>



<p class="">This year, I&#8217;m excited to commemorate the day by announcing something new!</p>



<h2 class="wp-block-heading" id="h-from-stage-to-essay">From Stage to Essay</h2>



<p class="">At the end of May, <a href="https://www.linkedin.com/in/nickvidal">Nick Vidal</a> from the <a href="https://opensource.org/">Open Source Initiative</a> reached out to me. To celebrate <a href="https://maintainermonth.github.com/">GitHub’s Maintainer Month</a>, he had been working to compile a collection of contributor stories for a book about the maintainers behind Open Source projects. He asked me if I&#8217;d be willing to submit something.</p>



<p class="">I was honored! I read through the dozen or so questions he sent and wrote answers for a handful that resonated with me. The next day I flew out to <a href="https://jonathandesrosiers.com/2025/04/speaking-at-wordcamp-europe-2025/">attend WordCamp Europe</a>. Between the whirlwind of travel, attending sessions, and preparing to give my talk, I completely forgot about it.</p>



<p class="">A few days after speaking, I received another email from Nick.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="">While doing some research about you, I fell in love with your recent talk at WordCamp Europe.</p>
</blockquote>



<p class="">He had <a href="https://jonathandesrosiers.com/2025/06/how-a-core-committer-thinks-making-decisions-for-millions/">seen the recording of my talk</a> and asked me to incorporate the subject matter with the answers I had already sent over for the book. My speaker notes captured the core ideas, but they needed a lot of refinement and proper citations before they could stand alone as a publishable essay. I also included some thoughts from my recent post about the <a href="https://jonathandesrosiers.com/2025/06/the-impact-of-open-source-work/">impact of maintaining Open Source projects</a>.</p>



<p class="">I&#8217;m excited to share that thanks to the many hours Nick put into the project, the <a href="https://maintaine.rs/">maintaine.rs</a> website showcasing this project is live. <img alt="🎉" class="wp-smiley" src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f389.png" style="height: 1em;" /> You can read my <a href="https://maintaine.rs/desrosj">essay on the website</a>, or download the full book in PDF or EPUB format.</p>



<h2 class="wp-block-heading" id="h-building-on-the-ideas-of-others">Building On The Ideas Of Others</h2>



<p class="">My good friend and fellow Core Committer <a href="https://en.wikipedia.org/wiki/Baseball">Felix Arntz</a> celebrated the 10 year anniversary of his first contribution to WordPress late last month. He <a href="https://felix-arntz.me/blog/10-lessons-from-10-years-of-contributing-to-wordpress-core/">wrote about 10 things he’s learned in 10 years of contributing</a>.</p>



<p class="">As far as I know, Felix hadn’t seen my WCEU talk or heard about the Maintainers project. Despite that, we ended up exploring many of the same themes and principles.</p>



<p class="">While the ideas I explore in my talk and essay aren’t novel, they’re rooted in lessons I’ve learned from others and foundational Open Source concepts. A key part of participating in any Open Source community is learning from your predecessors. How should we conduct ourselves? How should we structure our communities? How should we make decisions? You can earn the respect of your peers by demonstrating that you thoughtfully consider these questions through your day to day actions.</p>



<h2 class="wp-block-heading" id="h-submit-your-own-story">Submit Your Own Story</h2>



<p class="">I&#8217;m grateful to be included in the book among many other amazing maintainers, but I was also glad to find out I was not the only maintainer representing the WordPress project: <a href="https://maintaine.rs/karmatosed">Tammie Lister also submitted her maintainer story</a>.</p>



<p class="">While it&#8217;s good to see WordPress represented in the book, the project is maintained by many people, not just two.</p>



<p class="">On the landing page for the project is a call out to &#8220;Share Your Story&#8221; for consideration in future editions. The <a href="https://heropress.com/">HeroPress</a> site does an amazing job of surfacing the stories behind members of the WordPress community. But there’s value in sharing those stories with the broader Open Source community too. If you help maintain WordPress in some way, I hope you’ll consider sharing your story for a future edition of the book, they all deserve to be heard.</p>



<h2 class="wp-block-heading" id="h-closing-thoughts">Closing Thoughts</h2>



<p class="">Over the past 12 years, I’ve done my best to contribute in ways that don’t just solve problems, but make the project more approachable, more sustainable, and more human.</p>



<p class="">I recently received this DM from someone.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="">“Watched your talk on my way home. You did a fantastic job explaining core and the committer role. Reminded me why I’m still around and invigorated to do more. Thanks!”</p>
</blockquote>



<p class="">It came from someone I deeply respect, someone I’ve learned a great deal from over the years.</p>



<p class="">It’s easy to underestimate the <a href="https://jonathandesrosiers.com/2025/06/the-impact-of-open-source-work/">impact even our most routine contributions can have on others</a>, especially in Open Source, where so much of the work happens asynchronously and behind a screen.</p>



<p class="">Messages like this remind me why I do this work. I hope others have found value or inspiration in what I’ve shared. And if my story, my talk, or my essay helps even a few people feel more connected or inspired to stay involved, then it’s all been worth it.</p>



<p class="">Here&#8217;s to year 13 and beyond. <img alt="❤" class="wp-smiley" src="https://s.w.org/images/core/emoji/16.0.1/72x72/2764.png" style="height: 1em;" /></p>



<hr class="wp-block-separator alignwide has-alpha-channel-opacity" />



<p class="">&#8220;Props&#8221; Anniversaries: <a href="https://jonathandesrosiers.com/2023/07/10-years-of-contributing-to-wordpress/">Ten</a>, <a href="https://jonathandesrosiers.com/2024/07/11-years-contributing-to-wordpress/">Eleven</a>.</p>



<p class="">Commit-iversaries: <a href="https://jonathandesrosiers.com/2020/11/two-years-my-wordpress-commit-iversary/">Two</a>, <a href="https://jonathandesrosiers.com/2023/11/five-years-my-wordpress-commit-iversary/">Five</a>, <a href="https://jonathandesrosiers.com/2024/11/six-years-a-committer-my-wordpress-commit-iversary/">Six</a>.</p>



<p class="has-text-align-right"><em>Featured image credit: &#8220;<a href="https://wordpress.org/photos/photo/56633defe8/" rel="noreferrer noopener" target="_blank">A couple of bookshelves with colorful books on a stone wall</a>&#8221; by <a href="https://mburnette.com" rel="noreferrer noopener" target="_blank">mdburnette</a>/ <a href="https://creativecommons.org/publicdomain/zero/1.0/?ref=openverse" rel="noreferrer noopener" target="_blank">CC0 1.0</a></em></p>
<p>The post <a href="https://jonathandesrosiers.com/2025/07/12-years-contributing-to-wordpress/">12 Years Contributing to WordPress</a> appeared first on <a href="https://jonathandesrosiers.com">Jonathan Desrosiers</a>.</p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 08 Jul 2025 11:52:32 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:19:"Jonathan Desrosiers";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:9;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:77:"Open Channels FM: How to Pitch Stories That Matter in the WordPress Community";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"https://openchannels.fm/?p=100715";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:84:"https://openchannels.fm/how-to-pitch-stories-that-matter-in-the-wordpress-community/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:208:"In this Media Playbook episode, Rae Morey and Adam Weeks discuss effective pitching for WordPress stories, covering what makes a story newsworthy, and providing practical advice for successful media outreach.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 08 Jul 2025 08:27:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:10;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:83:"Open Channels FM: With Your New Site, Start With Content, Even if the Plan is Messy";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"https://openchannels.fm/?p=100410";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:88:"https://openchannels.fm/with-your-new-site-start-with-content-even-if-the-plan-is-messy/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:333:"When a business first starts creating content, it often looks chaotic. There’s not always a strategy. You try a few blog posts, maybe some tutorials or listicles, toss in a few keywords you think matter, and hope something sticks. And that’s okay. In fact, that messy start is what helps shape your future strategy. The [&#8230;]";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 08 Jul 2025 07:17:58 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:11;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:48:"Tammie Lister: What if we paused default themes?";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:34:"https://binatethoughts.com/?p=2346";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:60:"https://binatethoughts.com/what-if-we-paused-default-themes/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:5710:"<p>Before I begin this post, I am writing it not expecting change, but rather sharing my opinion. It is the opinion of someone who has themes both default and working with them from agencies to exploration, threaded through their life. I say this with a passion for what themes were, are, and I see evolving into. I am also focusing on a pause, not a stop or hard point. This is a suggestion, a thought I am working through myself.</p>



<h2 class="wp-block-heading">The past</h2>



<p>The default themes worked for us as a project in WordPress. They were both a call to unify in work, and also allowed us something to focus on testing the features of the year. They were also a way to close out the year; historically, many switched to them to showcase.</p>



<p>Another thing the default themes have done well is showcase different aspects of WordPress. One could argue that having a theme focus is key for everyone. Similarly, many writers use it as a basis for their content, drawing on it as fuel. It was an end to the year for many, although I would self-reflect, as the years have gone by, this has waned. Again, this is a personal reflection.</p>



<h2 class="wp-block-heading">Today</h2>



<p>For a long time, whether we like to admit it or not, the default theme process has been more complex and disjointed. It hasn&#8217;t been as much about testing features as many weren&#8217;t theme visible. </p>



<p>Each default theme currently incurs a high maintenance cost. This goes over the code in support. I am reluctant to recommend anything in core that adds to the bundled theme debt at this time, considering there is still a backlog. To be clear, I want to see significant product benefits before recommending it as a course of action.</p>



<h2 class="wp-block-heading">Themes have changed</h2>



<p>Themes are a sliding scale of complexity, ranging from the quick brew weekend, a few hours of JSON for a personal site, to the large-scale enterprise theme founded on a complex design system, an extensive pattern library, and variations. Themes today are different, and anyone who is creating them knows this. Anyone not creating them also knows this, which is where the next bit comes in.</p>



<h2 class="wp-block-heading">The education piece</h2>



<p>One of the loudest comments in favour of having a default theme is that it brings education. Whilst this is true, education once a year isn&#8217;t useful. We need to consider the themes that are relevant today, and to do that, we need to examine all the pieces and their respective use cases. How are different people making themes? How are individuals experimenting? How are agencies scaling? How are people using themes today, and where are they stuck?</p>



<h2 class="wp-block-heading">What a theme is needs to be reconsidered</h2>



<p>The strongest point for pausing this year is to take a moment as a project and consider what a theme is today. What design tools are missing that we need first? What pieces do we have, and how do they go together? Where do they not go together and need to? Fix those flows first, then build amazing &#8216;themes&#8217; or whatever we settle on.</p>



<p>The future of a theme might be a &#8216;kit&#8217; where you have a style you share. It might be something else. We haven&#8217;t paused long enough to think about it, and it&#8217;s not the same format we keep reworking in default themes.</p>



<h2 class="wp-block-heading">What else could we do instead?</h2>



<p>Here are a few things that could be done with all the people and effort a theme release typically takes. It&#8217;s worth noting that they require a lot, which is why these are in much greater demand at this time.</p>



<ul class="wp-block-list">
<li><strong>Education: </strong>Many people still don&#8217;t understand or haven&#8217;t fully explored the potential of block themes. Taking time for this collectively could be a powerful experience. It also helps the ecosystem, agencies and products.</li>



<li><strong>Improve the design tools for themes:</strong> By adding features such as adaptive controls and other missing pieces, redirecting the effort that would have gone into the default theme into the core editor itself. This benefits everyone and all themes.</li>



<li><strong>Rejuvenate the community theme project:</strong> This moves it beyond being a one-time event and could include various types of experiments. Allow exploration of what a theme is.</li>



<li><strong>Identify the areas where the themes are not working out:</strong> Improve this with tools and also within the core itself. This goes beyond the design tools and into the system of themes themselves.</li>
</ul>



<h2 class="wp-block-heading">A pause is not a stop</h2>



<p>I chose this title because I am suggesting a pause, although I struggle to see &#8216;when&#8217; we would need them, but of course, things change. As a project, WordPress should also release more experiments on what a theme should be today. That&#8217;s been the issue, and as a result, the default theme has become such a hot topic for people. </p>



<p>This is just my thought, though. If a default theme were to happen, it would be amazing and welcome. I also know it will be done incredibly well. I often reflect on the logistics and the limited resources required for incredible contributions. I always want to put them in the space where they will be most effective and move the project forward. I also think that, as a product, it makes sense to have focus, and I can&#8217;t see a default theme that fits right now. I&#8217;m open to evidence, as always, to counter that. For that, it&#8217;s up to the project to decide, not me.</p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sun, 06 Jul 2025 16:57:52 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:18:"binatethoughts.com";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:12;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:32:"Tammie Lister: June in WordPress";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:34:"https://binatethoughts.com/?p=2340";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:45:"https://binatethoughts.com/june-in-wordpress/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:4972:"<p>Another month has passed and what a month this was, it started with WordCamp Europe and ended with a new sponsor.</p>



<h2 class="wp-block-heading">Areas of contribution</h2>



<p>My focus continued in the areas it had before, but I also began trying to work more product work into this. I also attended the contribution day at WordCamp Europe, as well as the event itself. I had many great conversations that fueled me throughout the month.</p>



<p>Some stats this month (it&#8217;s worth noting I also did a lot of commenting, feedback and other activities outside of ticket numbers but they are good to refer to):</p>



<ul class="wp-block-list">
<li><strong>Commits: </strong>4</li>



<li><strong>Closed tickets:</strong> 44</li>



<li><strong>Gave indepth feedback:</strong> 32 (this is worth calling out as often requires time around product and design).</li>
</ul>



<p>I have also been exploring how to optimise flows, such as rapid note-taking, and speed up more triage processes.</p>



<ul class="wp-block-list">
<li><strong>Backlog</strong>: My focus was on closing tickets and also on the ancient list which is to clear down.
<ul class="wp-block-list">
<li>Another focus on the Gutenberg repo and clearing up the &#8216;needs design&#8217; to be a true reflection of that state.</li>
</ul>
</li>



<li><strong>Extensibility</strong>: Reviewing and verifying if issues are still valid, while also engaging in conversations about next steps.</li>



<li><strong>Bundled themes</strong>: Cleared out things for potentially including in next release.</li>
</ul>



<p>I also explored limits with dataViews and other areas of the editor, and as a result, encountered issues. This is always beneficial to do, as I learn each time where the boundary problems lie.</p>



<h2 class="wp-block-heading">Sharing the journey</h2>



<p>This month saw the opportunity to share my journey in contribution in a conversation with <a href="https://www.linkedin.com/posts/marcelbootsman_wordpress-wordcampeurope-wceu-activity-7343241379021570048-u6pT?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAABgcPcBKRyyxU2pJqS1IueElA37k3FWJGw">Marcel Bootsman at WCEU for Kinsta</a>. I also got to be on the <a href="https://openchannels.fm/the-evolving-landscape-of-core-contribution-and-company-sponsorship/">OpenChannels.fm</a> talking about the evolving landscape of core contribution and company sponsorship, with Tim and Zach from BigScoots with the amazing Adam Weeks joining us.</p>



<p>I continued to reflect on the learnings from the work I am doing. I wrote about &#8216;<a href="https://binatethoughts.com/?p=1858">Defining Roadmaps in the Open</a>&#8216; and &#8216;<a href="https://binatethoughts.com/?p=1826">Optimising Triage and Review Processes in WordPress using AI</a>&#8216;.</p>



<h2 class="wp-block-heading">Upcoming plans for contribution</h2>



<p>I am allowing July to take shape as it unfolds, but to start with, this work will form the foundation. I also want to explore how I can incorporate some of my outside product management experience a bit more.</p>



<ul class="wp-block-list">
<li><strong>Backlog</strong>:
<ul class="wp-block-list">
<li>Focus on <a href="https://core.trac.wordpress.org/tickets/ancient">ancient and inactive</a> trac log.</li>
</ul>
</li>



<li><strong>Core editor:</strong>
<ul class="wp-block-list">
<li>Continue on making sure &#8216;needs design&#8217; label is a true indicator.</li>



<li>Move on to the triage of the components label.</li>



<li>Components: see where can help with documentation &#8211; for example how can things be surfaced on make easier.</li>
</ul>
</li>
</ul>



<h2 class="wp-block-heading">Sponsors this month</h2>



<div class="wp-block-group is-layout-constrained wp-block-group-is-layout-constrained">
<p>I now have these sponsors: <a href="https://www.bigscoots.com">BigScoots</a>, <a href="https://greyd.io">Greyd</a>, <a href="https://kinsta.com">Kinsta</a>, <a href="https://servmask.com">ServMask</a>, <a href="https://github.com/aaronjorbin">Aaron Jorbin</a>, <a href="https://github.com/timnashcouk">Tim Nash</a>, <a href="https://github.com/jeffpaul">Jeffrey Paul</a>, <a href="https://github.com/foosantos">Felipe Santos</a> and <a href="https://github.com/scotrumery">Scot Rumery</a>. To everyone who sponsored me and helped me secure sponsorship, thank you.</p>



<h3 class="wp-block-heading">New sponsor ServMask</h3>



<p>Those of you who are keen-eyed will notice that a new sponsor has been added to that list. I want to thank ServMask for their sponsorship. It makes a difference to the work I can do to have companies and individuals support me.</p>



<p>Want to sponsor me? You can through <a href="https://github.com/sponsors/karmatosed">GitHub</a>.</p>



<p>There is always sponsorship, of course, that is volunteered, and I&#8217;ll do as much as possible whilst still keeping things flowing – let&#8217;s get contributing!</p>
</div>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sun, 06 Jul 2025 15:37:28 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:18:"binatethoughts.com";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:13;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:71:"Gravatar: User Profile Page Examples to Inspire Your Website’s Design";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"http://blog.gravatar.com/?p=1496";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:64:"https://blog.gravatar.com/2025/07/04/user-profile-page-examples/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:32841:"<p>A winning profile page requires two things working in harmony: </p>



<ol class="wp-block-list">
<li>First, a compelling design that showcases user identity. </li>



<li>Second, frictionless onboarding that gets users to actually complete their profiles.</li>
</ol>



<p>Most teams nail the design but fumble on the experience. Users abandon beautifully crafted pages because they&#8217;re tired of uploading the same photo and entering the same bio for the hundredth time. Your conversion rate flatlines while you wonder why your pixel-perfect interface isn&#8217;t working.</p>



<p>We analyzed 15 top-performing profile designs. The winners combine great design with smart data integration. Here’s a snapshot:</p>



<ul class="wp-block-list">
<li><a href="https://github.com/">GitHub&#8217;s</a> contribution graphs turns coding into a game, while using <a href="https://gravatar.com/">Gravatar&#8217;s</a> data to instantly populate developer avatars.</li>



<li><a href="http://wordpress.com">WordPress.com</a> creates consistent profiles across millions of sites by tapping into existing user data.</li>



<li><a href="https://app.slack.com/">Slack</a> eliminates redundant profile setup by recognizing users&#8217; existing information.</li>
</ul>



<p><strong>The pattern: </strong>These platforms skip building avatar systems from scratch. They focus on features that actually differentiate them, like GitHub&#8217;s contribution graphs or WordPress.com&#8217;s activity streams.</p>



<p><strong>What you&#8217;ll discover:</strong></p>



<ul class="wp-block-list">
<li>The components of winning profile pages.</li>



<li>15 profile examples that actually convert.</li>



<li>Why top platforms use existing infrastructure instead of reinventing the wheel.</li>
</ul>



<p>Ready to fix your profile problem? Let&#8217;s dive in.</p>



<h2 class="wp-block-heading"><strong>What Actually Makes Profile Pages Convert</strong></h2>



<p><strong>What Actually Makes Profile Pages Convert</strong></p>



<p>A converting profile page transforms visitors into engaged users through strategic design decisions.</p>



<p>Four core elements separate winning profiles from the rest:</p>



<h3 class="wp-block-heading"><strong>Visual Hierarchy That Works</strong></h3>



<p>Profile photos positioned prominently drive immediate recognition.<a href="https://www.linkedin.com/business/talent/blog/product-tips/tips-for-taking-professional-linkedin-profile-pictures"> Research shows profiles with photos receive 14x more views</a> and make users 36x more likely to receive messages.</p>



<p>Smart platforms leverage this psychology. Photos anchor the layout. Essential information clusters nearby. Secondary details push down or hide behind tabs. The result? Users find what they need instantly.</p>



<p><strong>Example:</strong> <a href="https://github.com/">GitHub</a> positions avatars in the left column where Western readers naturally start scanning. LinkedIn&#8217;s mobile app leads with the profile photo, capitalizing on the fact that<a href="https://www.broadbandsearch.net/blog/mobile-desktop-internet-usage-statistics"> 63% of web traffic comes from mobile devices</a>.</p>



<h3 class="wp-block-heading"><strong>Purpose-Driven Design</strong></h3>



<p>Single-purpose profiles outperform feature-bloated alternatives. Pick one primary goal. Execute flawlessly. Everything else becomes secondary or disappears.</p>



<p>Portfolio showcase? Show the work. Professional networking? Highlight credentials. Community building? Surface engagement metrics.</p>



<p><strong>Example:</strong> <a href="https://stackoverflow.com/">Stack Overflow</a> focuses solely on technical reputation &#8211; no social features, no messaging, just pure expertise visualization. This laser focus helped them become the de facto Q&amp;A platform for developers.</p>



<h3 class="wp-block-heading"><strong>User Control = User Retention</strong></h3>



<p>Customizable profiles keep users engaged. When people shape their digital presence, they invest emotionally. That investment translates to return visits.</p>



<p><a href="https://analyzify.com/statsup/linkedin#stat-linkedin-profiles-that-are-fully-completed-receive-30-more-views-on-a-weekly-basis">Complete LinkedIn profiles receive 30% more profile views</a> than incomplete ones. The best implementations balance flexibility with constraints – too many options overwhelm, too few feel restrictive.</p>



<p><strong>Example:</strong> <a href="https://discord.com/">Discord</a> allows custom status messages and per-server avatars, letting users express different facets of their personality across communities.</p>



<h3 class="wp-block-heading"><strong>Three-Click Rule</strong></h3>



<p>Every profile action needs to be accessible within three clicks. Each additional click loses users.<a href="https://baymard.com/blog/ecommerce-checkout-usability-report-and-benchmark"> </a></p>



<p>Successful platforms use either tabbed interfaces or single-scroll designs. Both help users to quickly find the information they need. The choice depends on your content density and mobile constraints, not designer preference.</p>



<h2 class="wp-block-heading"><strong>Essential Profile Components (Ranked by Impact)</strong></h2>



<p>Profile components are user interface elements that directly impact engagement metrics and conversion rates.</p>



<h3 class="wp-block-heading"><strong>1. Profile photo</strong></h3>



<figure class="wp-block-image size-large"><img alt="Upload a profile picture" class="wp-image-1499" height="427" src="https://blog.gravatar.com/wp-content/uploads/2024/06/image.jpeg?w=660" width="660" /></figure>



<p>The trust anchor of any profile. No photo means no trust. Poor quality photos perform almost as badly.</p>



<p><strong>Technical requirements that matter:</strong></p>



<ul class="wp-block-list">
<li>Optimal size:<a href="https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile"> 500&#215;500 pixels recommended, 400&#215;400 minimum</a>.</li>



<li>Format: WebP with JPEG fallback.</li>



<li>Implementation: Lazy loading for performance.</li>
</ul>



<p><strong>The shortcut major platforms use: </strong><a href="https://gravatar.com/">Gravatar</a> handles all of this automatically. Users upload once, and their photo appears everywhere. No image processing pipeline to build. No storage costs. No optimization headaches. Just add their email hash and move on to features that actually differentiate your platform.</p>



<h3 class="wp-block-heading"><strong>2. Bio section</strong></h3>



<figure class="wp-block-image size-large"><img alt="Bio section " class="wp-image-1501" height="426" src="https://blog.gravatar.com/wp-content/uploads/2024/06/image-2.jpeg?w=660" width="660" /></figure>



<p>The narrative that connects. Optimal length varies by platform, but the principle remains: force clarity through constraints.</p>



<p><a href="https://blog.replug.io/instagram-character-limits/">Instagram&#8217;s 150-character limit</a> drives concise, impactful bios. LinkedIn allows 2,000 characters, but best practices suggest <a href="https://www.linkedin.com/advice/1/what-ideal-length-personal-bio-skills-personal-branding">keeping profile summaries to 300 words</a> or less for maximum engagement.</p>



<p><strong>Winning bios include:</strong></p>



<ul class="wp-block-list">
<li>Clear value proposition (first 50 characters).</li>



<li>Credibility markers.</li>



<li>Personality touches.</li>



<li>Call-to-action.</li>
</ul>



<h3 class="wp-block-heading"><strong>3. Connection Mechanisms</strong></h3>



<figure class="wp-block-image size-large"><img alt="Contact information button" class="wp-image-1502" height="459" src="https://blog.gravatar.com/wp-content/uploads/2024/06/image-3.jpeg?w=660" width="660" /></figure>



<p>Where engagement becomes action. Make it obvious how to connect. Make it easy to execute.</p>



<p><strong>Core features:</strong></p>



<ul class="wp-block-list">
<li>Follow/connect buttons above the fold.</li>



<li>Clear messaging options.</li>



<li>Permission controls.</li>



<li>Export capabilities.</li>
</ul>



<p><a href="https://blog.photofeeler.com/perfect-photo/">Professional headshots increase perceived competence by +0.94 points</a> and influence by +1.29 points. Yet most platforms still make users jump through hoops to connect.</p>



<h2 class="wp-block-heading"><strong>The Infrastructure Reality</strong></h2>



<p>Building these from scratch takes weeks. Database schemas, image optimization, and privacy compliance – each component requires specialized expertise.</p>



<p><a href="https://blog.gravatar.com/2024/06/03/profiles-as-a-service/">Gravatar already serves billions of avatars</a> for WordPress.com, Slack, GitHub, and OpenAI. Their evolution brings a complete profile solution: one integration, full identity system. While competitors build profile systems, smart platforms leverage existing infrastructure and focus on unique value.</p>



<h2 class="wp-block-heading"><strong>15 Profile Examples that Actually deliver</strong></h2>



<h3 class="wp-block-heading"><strong>Developer Platforms</strong></h3>



<h4 class="wp-block-heading"><strong>1. GitHub &#8211; The Contribution Graph Pioneer</strong></h4>



<p><img height="380" src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdTW9hUkNj9OAzWfe-RbA2F4GE8JR0pvu5Rfr2JTWcWXMGZK7Xz2qsdDOe9p6F-AZpwoai53du6y6Tj1gVcKLmc3qcPToaafsdJD7Klop8rVrvobjSYZE5wIiMWNNDDu4x7orwtow?key=g3Vs1-oIvhXl3o64xetJ4g" width="624" />GitHub&#8217;s green contribution squares changed developer behavior. The visual representation of daily commits gamifies consistency without explicit rewards.</p>



<figure class="wp-block-image"><img alt="github contirbutiom graph " src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXecRnGaKYp-S3vS82NVJTjXuWa019s2f4KI0aprqFajf5Ld9YWvZ-8XS_15iDyCy1E6EcFcV646abg60MDQtD2Q_njBp-up0KKaW3dcSbYpZ1Vx9RafgYqTeto-gF9-DqrZD5y11g?key=g3Vs1-oIvhXl3o64xetJ4g" /></figure>



<ul class="wp-block-list">
<li><strong>Hero element:</strong> 365-day activity visualization.</li>



<li><strong>Conversion driver:</strong> Pinned repositories (6 maximum).</li>



<li><strong>Mobile optimization:</strong> Collapsible sections preserve space.</li>



<li><strong>Technical note:</strong><a href="https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile"> Uses Gravatar for avatar fallback</a>.</li>



<li><strong>Steal this:</strong> Visual activity drives engagement.</li>
</ul>



<p>The Profile README feature lets developers create dynamic showcases with real-time stats and custom content. Markdown + APIs = living portfolios. This single feature spawned an entire ecosystem of profile enhancement tools.</p>



<h4 class="wp-block-heading"><strong>2. Stack Overflow &#8211; Gamification Done Right</strong></h4>



<p>Stack Overflow proves single-metric focus works. Everything revolves around reputation points.</p>



<figure class="wp-block-image"><img alt="Stack overflow gamification features" src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcTiGphKSmTkENm5WlroDFuVkB3RjdoqF_V-98miMcpNREL-mnNPsqIzF-EVP1qsuhCnYUeU_1OzLtfR2zivma6Yleign_Wy29CqjJMfp2W1s5vyzCfN7HZz7wb_OS07spj4EOR?key=g3Vs1-oIvhXl3o64xetJ4g" /></figure>



<ul class="wp-block-list">
<li><strong>Scoring system:</strong> Clear value exchange (answers = points).</li>



<li><strong>Badge collection:</strong> 95 distinct achievements.</li>



<li><strong>Information hierarchy:</strong> Reputation dominates visually.</li>



<li><strong>Steal this:</strong> One clear success metric.</li>
</ul>



<p>Their discontinued &#8220;Developer Story&#8221; feature proved that even successful platforms overcomplicate. Returning to reputation-first design re-engaged their core audience. Sometimes less truly is more.</p>



<h4 class="wp-block-heading"><strong>3. GitLab &#8211; The Everything Dashboard</strong></h4>



<p>GitLab emphasizes team collaboration over individual achievement. Every contribution is visible, and every interaction is tracked.</p>



<figure class="wp-block-image"><img alt="gitlab dashboard" src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf5bUQ7NJb5dnmPT-BfACUWE03O9pp9fbuBgirTeLbSC-jn3mPqzJIQ6__gESULIn9eduQ1npCVmblzAELlFgvJeDLaivt_zAdA4uDpznFplL4XiXXMZ7_7xAtwASBC5yo7bN5dgw?key=g3Vs1-oIvhXl3o64xetJ4g" /></figure>



<ul class="wp-block-list">
<li><strong>Activity feeds:</strong> Complete transparency.</li>



<li><strong>Project integration:</strong> Seamless repository connection.</li>



<li><strong>Team visibility:</strong> Organizational context is clear.</li>



<li><strong>Steal this:</strong> Transparency builds trust.</li>
</ul>



<h3 class="wp-block-heading"><strong>Creative Showcases</strong></h3>



<h4 class="wp-block-heading"><strong>4. Dribbble – Visual-First Excellence</strong></h4>



<p>Dribbble&#8217;s 400×300px shot grid maximizes visual impact. Their 2023 redesign philosophy was: &#8220;less noise, less clutter – more beautiful pixels.&#8221;</p>



<figure class="wp-block-image"><img alt="Alt: dribbble john oliver profile photo resizing" src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXepn8KFR3eNHG2KXr1KCWIdaX8eMXQwNloxBgpoXOfUv-WrFbrUhryI924_H-D2IUJHoBUt2utO7U_vkOWank-eb2nuHsy90Cw7aasBUH7AuHP-xOhdlUDUp9_MIk9kHKhHUX7VEw?key=g3Vs1-oIvhXl3o64xetJ4g" /></figure>



<ul class="wp-block-list">
<li><strong>Grid optimization:</strong> Rapid visual scanning. </li>



<li><strong>Hover interactions:</strong> Preview without commitment.</li>



<li><strong>Social proof:</strong> View and like counts are visible.</li>



<li><strong>Steal this:</strong> Minimize UI, maximize content.</li>
</ul>



<p>Pro accounts unlock customization &#8211; header images, welcome messages, and shot reorganization. Monetization through enhancement, not restriction.</p>



<h4 class="wp-block-heading"><strong>5. Behance – The Case Study Master</strong></h4>



<p>Behance champions comprehensive project stories over individual images. Adobe integration made it the default for Creative Cloud users.</p>



<figure class="wp-block-image"><img alt="example behance profile" src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdp8C9lQS5v3wfL1uCq2Ljol8NKrSwyUDvRI7WB3iV5gLnW0zFvVapzFp32VMEiGGAfLIMtYLtpCneV5_Lvv8xC1-4y4TrjtUPgfOVn61jbc3v5FJW14fCWlsnNeea7nzeMO3KSFg?key=g3Vs1-oIvhXl3o64xetJ4g" /></figure>



<p><strong>Project depth:</strong> Multiple images per entry.<br /><strong>Rich media:</strong> Video, 3D, animation support.<br /><strong>Context provision:</strong> Process documentation encouraged.<br /><strong>Steal this:</strong> Show the journey, not just the destination.</p>



<h4 class="wp-block-heading"><strong>6. ArtStation &#8211; Industry-Specific Focus</strong></h4>



<p>ArtStation owns game and film portfolios through specialized features. Generic platforms can&#8217;t compete with niche expertise.</p>



<figure class="wp-block-image"><img alt=" artstation game portfolio" src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeCPW5f41p13fN2nHSCdkZURiOkgV0qgA2PCoMGpCQYFFAfTr9x4EWD6o_BW7qOgr63gA9LmpFVObJEq8HYMQM4CucIqls_JNwfxVnPXyKSGdbjxlDgWLreMPJlhUdWD4IhGmXw0w?key=g3Vs1-oIvhXl3o64xetJ4g" /></figure>



<p><strong>4K image support:</strong> Industry-standard quality.<br /><strong>Software tags:</strong> Tools and workflows are visible.<br /><strong>Marketplace integration:</strong> Direct monetization.<br /><strong>Steal this:</strong> Deep specialization wins.</p>



<h3 class="wp-block-heading"><strong>Content Platforms</strong></h3>



<h4 class="wp-block-heading"><strong>7. Medium &#8211; Minimalism That Converts</strong></h4>



<p><a href="https://medium.com/">Medium</a> profiles strip away everything except what matters: your words and your audience.</p>



<figure class="wp-block-image"><img alt="Alt: substack member article" src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd5RpD7PfN7PlIsge5iKId1Ld50LydRhNJOKaLoFzfkhI43T2enn0rcqdA4kcA6lOSy0GiUsnyQzuSwlot-FLwODLOoAUxSM4J8bAasKYhrJ44Ta7ZRdx2t7dw7EFQMrTE7HV0LFA?key=g3Vs1-oIvhXl3o64xetJ4g" /></figure>



<ul class="wp-block-list">
<li><strong>Typography focus:</strong> Clean reading experience prioritizes content. </li>



<li><strong>Clap engagement:</strong> A Simple appreciation system that actually works.</li>



<li><strong>Clean metrics:</strong> Followers, following, nothing else cluttering the view. </li>



<li><strong>Steal this:</strong> Radical simplicity drives engagement.</li>
</ul>



<p><a href="https://medium.com/write-a-catalyst/highlights-of-what-happened-on-medium-in-2024-what-to-note-2900f2a01426">Medium achieved profitability in 2024</a> by doubling down on human storytelling. Their profile pages offer header customization and infinite scroll, but the real lesson? Sometimes less truly is more. No vanity metrics. No feature bloat. Just writers and readers connecting through stories.</p>



<h4 class="wp-block-heading"><strong>8. WordPress.com – The Network Effect</strong></h4>



<p><a href="http://wordpress.com">WordPress.com</a> leverages<a href="https://blog.gravatar.com/2024/12/10/how-to-use-gravatar-in-wordpress/"> Gravatar for network-wide consistency</a>. One avatar, thousands of sites.</p>



<figure class="wp-block-image"><img alt="" src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdzacXkdKWlQ3ed6Oy2qrkLxOPMtVEC9cWg0jhO_X8ii4yuE6pIMuVphw7tmgO54wOXc0Zn7dp1LE8JNPjFcjQorr99BpURTMl7NALL6raolXCt0F_qWa72HxHzuw37o4g2uaqfpA?key=g3Vs1-oIvhXl3o64xetJ4g" /></figure>



<p><strong>Multi-site integration:</strong> Activity aggregation<br /><strong>Universal identity:</strong> Single sign-on benefits<br /><strong>Cross-platform recognition:</strong> Comments tracked globally<br /><strong>Steal this:</strong> Reduce friction everywhere</p>



<p>The <a href="https://blog.gravatar.com/2024/09/11/gravatar-enhanced/">Gravatar Enhanced plugin</a> adds privacy features including no referrer information by default and an opt-in proxy service. It includes a Gravatar Profile Block for displaying user information dynamically. Hovercards are enabled by default to increase engagement. </p>



<h4 class="wp-block-heading"><strong>9. Dev.to – Community-Centric Profiles</strong></h4>



<p>Dev.to prioritize collective learning over individual achievement. Participation matters more than perfection.</p>



<figure class="wp-block-image"><img alt="dev.to learning" src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeMH27CmH6oOHWyL4EXeolayThYKeMvFEaCFl-GMXsjRYsk7lRNl4YtahwssrG3us2DuEwNiO_EE82lE4CCli56bUocUbtC6ziGnKDpXcKVUQzBTn1rE4unavsWhRgQz6qcrZr8QQ?key=g3Vs1-oIvhXl3o64xetJ4g" /></figure>



<ul class="wp-block-list">
<li><strong>Discussion highlights:</strong> Best contributions featured.</li>



<li><strong>Learning transparency:</strong> Reading lists are public.</li>



<li><strong>Reaction diversity:</strong> Beyond simple likes.</li>



<li><strong>Steal this:</strong> Community value over vanity metrics.</li>
</ul>



<h3 class="wp-block-heading"><strong>Social Platforms</strong></h3>



<h4 class="wp-block-heading"><strong>10. Discord &#8211; Personality-Driven Design</strong></h4>



<p>Discord&#8217;s per-server profiles let users wear different hats in different communities. One account, multiple personalities.</p>



<figure class="wp-block-image"><img alt="discord per server profile options" src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXefkU1ewEdWCU8naVMF54K6rdNA8f4WSYjo3qg-_fVJeJeuqURpMz59sZlbF5ZzUVDVhyitDR-0QfJSs9i9rx4TZyZL91wqvPNoDORIbqwiAZt8ssrMljdBFmGqe3WkdRT4QoJq?key=g3Vs1-oIvhXl3o64xetJ4g" /></figure>



<ul class="wp-block-list">
<li><strong>Custom statuses:</strong> 128-character expression.</li>



<li><strong>Server showcase:</strong> Community membership visible.</li>



<li><strong>Nitro features:</strong> Premium customization options.</li>



<li><strong>Steal this:</strong> Context-aware identity.</li>
</ul>



<h4 class="wp-block-heading"><strong>11. Spotify &#8211; Data as Identity</strong></h4>



<p><a href="https://support.spotify.com/uk/article/spotify-wrapped/">Spotify Wrapped</a> proves people love sharing their data through their user profiles when presented beautifully. Listening history becomes a form of social currency.</p>



<p><img alt="spotify wrapped
" src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeUGsPbW-77ZCx5McjFoS1FmWUrNO0P-rCE7Vn7D06R3gWqai2VFw6sqLlt-diA8cxht6s9oDG2aezU04vgUveg5jsZ5ptnhbGD-QxiFGrZDb4-e860TDa2sEKECKDAFe6TUYeNYQ?key=g3Vs1-oIvhXl3o64xetJ4g" style="width: 625px;" /></p>



<p></p>



<ul class="wp-block-list">
<li><strong>Data visualization:</strong> Musical taste graphs.</li>



<li><strong>Playlist curation:</strong> User as tastemaker.</li>



<li><strong>Sharing optimization:</strong> One-click social posts.</li>



<li><strong>Steal this:</strong> Make data shareable.</li>
</ul>



<h4 class="wp-block-heading"><strong>12. Twitch &#8211; Revenue-Focused Profiles</strong></h4>



<p>Twitch optimizes for creator monetization without apology. Money matters, design supports it.<img alt="twitch" src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfMcyPLD3k3CVkwxJVJ8EMcBAf4Zezs5DPLrcx5DYOFx06hUfiKAC9J3uR2k9e3cu1LHp4QNoA0CBRH_aYUtYtLAW3GXM23hhQLkWlh-qrgZWpaumntWxaV-VzqRbMBK-8rtvXzvg?key=g3Vs1-oIvhXl3o64xetJ4g" style="width: 600px;" /></p>



<ul class="wp-block-list">
<li><strong>Subscribe prominence:</strong> Can&#8217;t miss the CTA.</li>



<li><strong>Schedule display:</strong> Reliability builds an audience. </li>



<li><strong>Clip showcase:</strong> Best moments surface automatically.</li>



<li><strong>Steal this:</strong> Business goals drive design.</li>
</ul>



<h3 class="wp-block-heading"><strong>Business Tools</strong></h3>



<h4 class="wp-block-heading"><strong>13. LinkedIn &#8211; The Professional Standard</strong></h4>



<p>LinkedIn profiles work because they&#8217;re discoverable within the platform. Every field functions as a searchable element for recruiters and connections.</p>



<figure class="wp-block-image"><img alt="linkedin profile" src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcj9Cz7-4Em_4a4rdTtwrBbFfOJmJJCW3HVb26RgTnRcMP6A846_BpFStL7Jj2wD-ElJk1u5W2ojYOa4EWU03Z0LpDLIJSz2th15s4nBBj_hiSsXR2S0e9uL3ZYe3N0gYuTlR8W8w?key=g3Vs1-oIvhXl3o64xetJ4g" /></figure>



<ul class="wp-block-list">
<li><strong>Keyword integration:</strong> Natural optimization.</li>



<li><strong>Skill validation:</strong> Peer endorsements.</li>



<li><strong>Content platform:</strong> Native publishing power.</li>



<li><strong>Steal this:</strong> Make profiles search-friendly.</li>
</ul>



<p><a href="https://www.jobscan.co/linkedin-optimization">LinkedIn optimization tools show an average 132% increase in profile views</a>. Strategic profile optimization drives real opportunities – <a href="https://www.cognism.com/blog/linkedin-statistics">candidates with comprehensive profiles have a 71% higher chance of job interviews</a>.</p>



<h4 class="wp-block-heading"><strong>14. ProductHunt – Maker Credibility</strong></h4>



<p>ProductHunt profiles display your complete launch history with upvote counts, creating a track record that builds credibility for future product launches.</p>



<p>.<img height="337" src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdgAUs8SSJwa8xMckKU1Ino6SEn4f0WfqCeYIczlQz131dmUPEHg6o3sVKG19A8NJtI13yABpnkOKuGQ7MCU3zhWuksBZzDy6hJrnn5UYFHHP9qUpaNA4HHnij7vXN6W_HpsKmELg?key=g3Vs1-oIvhXl3o64xetJ4g" width="430" /></p>



<ul class="wp-block-list">
<li><strong>Launch timeline:</strong> Track record visible.</li>



<li><strong>Upvote accumulation:</strong> Social proof currency.</li>



<li><strong>Collection curation:</strong> Tastemaker status.</li>



<li><strong>Steal this:</strong> History builds credibility.</li>
</ul>



<h4 class="wp-block-heading"><strong>15. Figma – Collaboration Visualization</strong></h4>



<p>Figma profiles showcase collaborative work by default – files display team ownership, not just individual creators. This reflects how modern design actually happens.</p>



<figure class="wp-block-image"><img alt="Figma collaboration" src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeP7ABU8f5lPpJlwsixf36K3n0FKOgfYb1coYw-DQCNlifcSzhK0WdNLisYpJoJHwOUeELoS_5ryvXUpY50nCEpGNZn8dLkCodXs5KQ4V10tdTIJWA1KyBLt9RgiS_KPwOKNSIA?key=g3Vs1-oIvhXl3o64xetJ4g" /></figure>



<ul class="wp-block-list">
<li><strong>File previews:</strong> Automatic portfolio generation.</li>



<li><strong>Team context:</strong> Collaborative credentials.</li>



<li><strong>Plugin development:</strong> Technical skills showcase.</li>
</ul>



<p><strong>Steal this:</strong> Modern work is teamwork.</p>



<h2 class="wp-block-heading"><strong>Why Mobile Profile Optimization is a Must</strong></h2>



<p>Here&#8217;s the reality check: Your beautifully designed desktop profile? <em>Most</em> users will never see it.</p>



<p>It differs between segments like age group and industry, but <a href="https://research.com/software/guides/mobile-vs-desktop-usage">96.3% of internet users access via mobile phones</a>. Yet most profile pages still treat mobile as an afterthought &#8211; cramming desktop designs into smaller screens and wondering why engagement tanks.</p>



<p><strong>The paradox:</strong> Desktop users spend <a href="https://www.semrush.com/blog/mobile-vs-desktop-usage/">~77.8% longer per visit</a>, while mobile users generate 81% higher visit volume. This isn&#8217;t about choosing sides. It&#8217;s about understanding each platform&#8217;s strengths and designing accordingly.</p>



<p>Mobile profile optimization prioritizes thumb-zone interaction and vertical information architecture. Get this wrong, and you lose the majority of your audience before they even engage.</p>



<h3 class="wp-block-heading"><strong>Mobile Constraints That Matter</strong></h3>



<p><strong>Touch Targets</strong></p>



<ul class="wp-block-list">
<li><a href="https://developer.apple.com/design/human-interface-guidelines/designing-for-ios/">44x44px minimum (Apple HIG)</a>.</li>



<li><a href="https://m3.material.io/">48x48dp minimum (Material Design)</a>.</li>



<li><a href="https://www.w3.org/WAI/WCAG21/Understanding/target-size.html">20% spacing prevents mis-taps</a>.</li>
</ul>



<p><strong>Information Architecture</strong></p>



<ul class="wp-block-list">
<li>Progressive disclosure by default.</li>



<li>Expand on explicit intent only.</li>



<li><a href="https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/">Vertical rhythm consistency using 8px grid system</a>.</li>
</ul>



<p><strong>Performance Requirements</strong></p>



<ul class="wp-block-list">
<li>3-second maximum load time.</li>



<li>Lazy loading below the fold.</li>



<li>Image optimization is critical.</li>
</ul>



<h3 class="wp-block-heading"><strong>Platform Solutions Worth Stealing</strong></h3>



<p><strong>LinkedIn:</strong> Card-based sections create digestible chunks. Each card is self-contained, swipeable, and complete.</p>



<p><strong>GitHub:</strong> Collapsible sections preserve desktop density. Critical info visible, details on demand.</p>



<p><strong>Discord:</strong> Native gestures for navigation. Swipe between servers feels natural, reduces cognitive load.</p>



<h2 class="wp-block-heading"><strong>Implementation Without the Headache</strong></h2>



<p>Efficient profile implementation leverages existing infrastructure to reduce development time and maintenance burden.</p>



<h3 class="wp-block-heading"><strong>Build vs. Buy Reality Check</strong></h3>



<p><strong>DIY Timeline:</strong></p>



<ul class="wp-block-list">
<li>Week 1-2: Database schema and API.</li>



<li>Week 3: Frontend components.</li>



<li>Week 4: Image handling and optimization.</li>



<li>Ongoing: Security updates and maintenance.</li>
</ul>



<p><strong>The Gravatar Approach:</strong></p>



<p><a href="https://blog.gravatar.com/2024/06/03/profiles-as-a-service/">Gravatar already powers avatars across WordPress.com, Slack, GitHub, and OpenAI</a>. Their evolution brings a complete profile solution:</p>



<p><strong>Current Gravatar Reality:</strong></p>



<ul class="wp-block-list">
<li>Billions of avatars are served monthly.</li>



<li>Email-based identity system.</li>



<li>Zero license keys required.</li>



<li><a href="https://blog.gravatar.com/2024/10/30/introducing-native-integrations-for-gravatar-mobile-sdk/">Native mobile SDKs released in October 2024</a>.</li>
</ul>



<p><strong>The Gravatar Approach:</strong></p>



<p>Gravatar&#8217;s <a href="https://docs.gravatar.com/">Profile-as-a-Service API</a> provides: </p>



<ul class="wp-block-list">
<li>Full profile data access (avatars, bios, interests, verified accounts) </li>



<li>Open API with no licensing requirements </li>



<li>80+ million existing profiles </li>



<li>Automatic profile syncing across platforms </li>



<li>Native mobile SDKs for iOS and Android </li>
</ul>



<p>Learn more: <a href="https://docs.gravatar.com/">https://docs.gravatar.com/</a> </p>



<h3 class="wp-block-heading"><strong>Critical Technical Decisions</strong></h3>



<p><strong>Image Handling</strong></p>



<ul class="wp-block-list">
<li>A CDN is required for global performance.</li>



<li>Multiple size variants are needed.</li>



<li>Format detection and serving.</li>



<li><a href="https://www.w3.org/WAI/WCAG21/Understanding/target-size.html">WCAG 2.2 compliance for accessibility</a>.</li>
</ul>



<p><strong>Privacy Compliance</strong></p>



<ul class="wp-block-list">
<li>GDPR consent mechanisms.</li>



<li>Data portability options.</li>



<li>User-controlled sharing (Gravatar&#8217;s approach).</li>
</ul>



<p><strong>Performance Optimization</strong></p>



<ul class="wp-block-list">
<li>Edge caching strategies.</li>



<li>Progressive enhancement.</li>



<li>Core Web Vitals compliance.</li>
</ul>



<h2 class="wp-block-heading"><strong>What&#8217;s Next for Profile Design</strong></h2>



<p>Three trends reshape profile architecture:</p>



<h3 class="wp-block-heading"><strong>Unified Identity Systems</strong></h3>



<p><strong>Gravatar&#8217;s vision: </strong>One profile, updated everywhere. Email becomes the universal identity anchor.</p>



<p>Users demand control. They own the data, and platforms display it. The winning platforms embrace this shift.<a href="https://blog.gravatar.com/2024/06/03/profiles-as-a-service/"> 85% of adults worldwide want additional steps to protect online privacy</a> – unified systems deliver both convenience and control.</p>



<h3 class="wp-block-heading"><strong>Privacy-First Architecture</strong></h3>



<p>Granular sharing controls become a competitive advantage. Users specify what shares are where. Trust drives retention.</p>



<p>Gravatar&#8217;s model: Users decide what&#8217;s shared, and platforms respect those decisions. This approach aligns with evolving regulations while building user confidence.</p>



<h2 class="wp-block-heading"><strong>Stop Building. Start Converting.</strong></h2>



<p>Profile pages fail when built in isolation. Each platform reinvents the wheel, users suffer through repetitive onboarding, and developers waste weeks on solved problems.</p>



<p>The solution is clear: Study these 15 examples. Steal what works. Then decide – build from scratch or leverage existing infrastructure?</p>



<p><strong>Your Next Move:</strong></p>



<ol class="wp-block-list">
<li>Audit your current profile system against these examples</li>



<li>List the gaps costing you conversions</li>



<li>Calculate the real cost of DIY development</li>



<li>Consider unified identity solutions like Gravatar</li>
</ol>



<p>Using the <a href="https://blog.gravatar.com/2024/08/26/gravatar-api-tutorial-for-app-developers/">Gravatar API</a> for importing profile data helps establish attractive and consistent profile designs. This improves the overall look of your application and guarantees the accuracy of profile information. </p>



<p>Gravatar&#8217;s profile integration is already revolutionizing user profile design for leading websites such as <a href="https://pocketcasts.com/">Pocket Casts</a> and WordPress.com. These platforms use Gravatar&#8217;s features to enhance user engagement and provide a more dynamic profile experience to users worldwide.</p>



<p>Stop building profile systems. Start building profile experiences that convert Join the thousands of people customizing their unique profiles today with <a href="https://docs.gravatar.com/">Gravatar</a>!  .</p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 04 Jul 2025 15:38:51 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:11:"Ronnie Burt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:14;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:73:"Open Channels FM: Emojis, Exclamation Marks, and Reading the Room in Text";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"https://openchannels.fm/?p=100417";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:78:"https://openchannels.fm/emojis-exclamation-marks-and-reading-the-room-in-text/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:173:"Tone in writing significantly influences communication, especially in async messages, where emojis, punctuation, and warmth affect how messages are received and interpreted.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 04 Jul 2025 07:28:24 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:15;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:42:"Aaron Jorbin: My May And June in WordPress";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:31:"https://aaron.jorb.in/?p=208437";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:51:"https://aaron.jorb.in/my-may-and-june-in-wordpress/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:5288:"<p>My May and June in WordPress focused on helping get 6.8.2 set up for success and gardening old trac tickets. </p>



<p>This was my first time putting together the squad for a minor release that I wasn&#8217;t going to be a member of. I coordinated with a few active committers, team reps, and the 6.8.0 release coordinators to review the folks who volunteered to help lead a maintenance release. The first step was identifying from the volunteers one person who could be the primary lead. This involved reaffirming that people could still make the commitment. Once the first person was identified, we looked for folks to compliment them and I confirmed their availability. After that, I announced it and the 6.8.2 team got off to a quick start getting ready for the next release of WordPress.</p>



<p>I&#8217;ve also been spending some time looking at some long neglected tickets.  In order to not feel stuck, I&#8217;ve moved between a few reports on trac. The <a href="https://core.trac.wordpress.org/tickets/close">close report</a> (which is now under 200), one looking at <a href="https://core.trac.wordpress.org/query?status=accepted&amp;status=assigned&amp;status=new&amp;status=reopened&amp;status=reviewing&amp;keywords=~has-patch&amp;col=id&amp;col=summary&amp;col=status&amp;col=owner&amp;col=type&amp;col=priority&amp;col=milestone&amp;col=changetime&amp;order=changetime">tickets with a patch that haven&#8217;t received</a> attention in a long time and <a href="https://core.trac.wordpress.org/tickets/ancient">the ancient report</a>. Over half the tickets I touched during this span of time are now closed.</p>



<p>Another task I did was once again participate in the <a href="https://lgbtqpress.com/2025/05/share-your-pride-photo-drive-is-back-for-2025/">Share Your Pride photo drive</a>. I added a total of <a href="https://wordpress.org/photos/author/jorbin/">32 photos</a> though not all are in the photo drive. One of my favorites is used as the featured image on this post <img alt="☺" class="wp-smiley" src="https://s.w.org/images/core/emoji/16.0.1/72x72/263a.png" style="height: 1em;" /></p>



<h2 class="wp-block-heading">By the numbers</h2>



<p>During these two months, I contributed to 131 tickets on trac, made 4 commits to core, received 10 props, put together the squad for a minor release, wrote 1 make/core post, added 32 photos to the photo directory, and led one bug scrub.</p>



<p>I had 20 sponsors these months: <a href="https://github.com/jeffpaul" rel="noreferrer noopener" target="_blank">Jeffrey Paul</a>, <a href="https://github.com/philipjohn" rel="noreferrer noopener" target="_blank">philipjohn</a>, <a href="https://github.com/zstepek" rel="noreferrer noopener" target="_blank">Zach Stepek</a>, <a href="https://github.com/kkoppenhaver" rel="noreferrer noopener" target="_blank">Keanan Koppenhaver</a>, <a href="https://github.com/Mamaduka" rel="noreferrer noopener" target="_blank">George Mamadashvili</a>, <a href="https://github.com/kingkool68">Russell Heimlich </a>, <a href="https://github.com/austinginder">Austin Ginder</a>, <a href="https://github.com/adamsilverstein">Adam Silverstein</a>, <a href="https://github.com/felixarntz">Felix Arntz</a>, <a href="https://github.com/desrosj">Jonathan Desrosiers</a>, <a href="https://github.com/bacoords">Brian Coords</a>, <a href="https://github.com/mklute101">mklute101</a>, <a href="https://github.com/timnashcouk">Tim Nash</a>, <a href="https://github.com/jayhoppie">Jay Hoppie</a>,<a href="https://github.com/dknauss"> Dan Knauss</a>, <a href="https://github.com/kcristiano">Kevin Cristiano</a>, <a href="https://kinsta.com/">Kinsta</a>, <a href="https://github.com/whyisjake">Jake Spurlock</a>, <a href="https://github.com/afragen">Andy Fragen</a> and one who wishes to remain anonymous. Thank you for believing in and supporting my contributions to Open Source.</p>



<p></p>



<p>Previous: <a href="https://aaron.jorb.in/my-march-and-april-in-wordpress/">March/April 2025</a>, <a href="https://aaron.jorb.in/my-february-in-wordpress-2/">February 2025</a>, <a href="https://aaron.jorb.in/my-january-in-wordpress-2/">January 2025</a>, <a href="https://aaron.jorb.in/my-2024-in-wordpress/">2024 as a whole</a>, <a href="https://aaron.jorb.in/my-october-in-wordpress/">October 2024</a>, <a href="https://aaron.jorb.in/my-september-in-wordpress/">September 2024</a>, <a href="https://aaron.jorb.in/my-august-in-wordpress/">August 2024</a>, <a href="https://aaron.jorb.in/my-july-in-wordpress/">July 2024</a>, <a href="https://aaron.jorb.in/my-june-in-wordpress/">June 2024</a>, <a href="https://aaron.jorb.in/my-may-in-wordpress/">May 2024</a>, <a href="https://aaron.jorb.in/my-april-in-wordpress/">April 2024</a>, <a href="https://aaron.jorb.in/my-march-in-wordpress/">March 2024</a>, <a href="https://aaron.jorb.in/my-february-in-wordpress/">February 2024</a>, <a href="https://aaron.jorb.in/my-january-in-wordpress/">January 2024</a>, <a href="https://aaron.jorb.in/my-december-in-wordpress/">December 2023</a>, <a href="https://aaron.jorb.in/my-november-in-wordpress/">November 2023</a></p>
<p>The post <a href="https://aaron.jorb.in/my-may-and-june-in-wordpress/">My May And June in WordPress</a> appeared first on <a href="https://aaron.jorb.in">Aaron Jorbin</a>.</p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 03 Jul 2025 19:02:58 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:6:"jorbin";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:16;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:53:"Open Channels FM: Clarity Beats Brevity in Async Work";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"https://openchannels.fm/?p=100390";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:60:"https://openchannels.fm/clarity-beats-brevity-in-async-work/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:195:"In async work, short messages often lead to confusion. Being clear and detailed helps everyone understand without endless back-and-forth. Good communication is about being useful, not just quick.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 03 Jul 2025 11:38:47 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:17;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:51:"Peter Wilson: Unit testing WordPress plugin headers";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:30:"https://peterwilson.cc/?p=6615";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:61:"https://peterwilson.cc/unit-testing-wordpress-plugin-headers/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:656:"<p>WordPress plugins require a number of headers to be included in the plugin file for them to render correctly in the dashboard. If releasing a plugin on WordPress.org then a number of additional headers are required in the readme file.</p>



<p>The problem I have is that I can never remember which header goes where. Each time I write a plugin, I have to spend time reading the docs and making sure everything is in the correct location.</p>



<p>Continue reading <a href="https://peterwilson.cc/unit-testing-wordpress-plugin-headers/">Unit testing WordPress plugin headers</a> on <a href="https://peterwilson.cc" rel="nofollow">peterwilson.cc</a></p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 02 Jul 2025 21:43:10 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"Peter Wilson";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:18;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:31:"bbPress: bbPress 2.6.14 is out!";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:29:"https://bbpress.org/?p=245323";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:55:"https://bbpress.org/blog/2025/07/bbpress-2-6-14-is-out/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:726:"<p>bbPress 2.6.14 is a <strong>minor</strong> release that fixes <a href="https://bbpress.trac.wordpress.org/milestone/2.6.14">20 issues</a>. For everyone running bbPress 2.6, feel free to update at your earliest convenience. <img alt="🍯" class="wp-smiley" src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f36f.png" style="height: 1em;" /></p>



<p>This release improves Akismet, BuddyPress, and PHP 8.2 support, moderation terms, search, and more!</p>



<p>(All of these fixes have already been merged into trunk/2.7.)</p>



<p>Thank you to everyone who contributed to this bbPress release! <img alt="🙏" class="wp-smiley" src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f64f.png" style="height: 1em;" /></p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 02 Jul 2025 18:15:15 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:17:"John James Jacoby";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:19;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:71:"WPTavern: #175 – Jennifer Schumacher on Learning From Agency Mistakes";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:48:"https://wptavern.com/?post_type=podcast&p=197160";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:85:"https://wptavern.com/podcast/175-jennifer-schumacher-on-learning-from-agency-mistakes";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:48363:"<details>Transcript<div>
<p>[00:00:19] <strong>Nathan Wrigley:</strong> Welcome to the Jukebox Podcast from WP Tavern. My name is Nathan Wrigley.</p>



<p>Jukebox is a podcast which is dedicated to all things WordPress, the people, the events, the plugins, the blocks, the themes, and in this case, learning from mistakes in website development agencies.</p>



<p>If you&#8217;d like to subscribe to the podcast, you can do that by searching for WP Tavern in your podcast player of choice, or by going to wptavern.com/feed/podcast, and you can copy that URL into most podcast players.</p>



<p>If you have a topic that you&#8217;d like us to feature on the podcast, I&#8217;m keen to hear from you and hopefully get you, or your idea, featured on the show. Head to wptavern.com/contact/jukebox, and use the form there.</p>



<p>So on the podcast today, we have Jennifer Schumacher.</p>



<p>Jennifer has been working with WordPress and web development for over 15 years. Her journey began with a spark of curiosity in university, building her first WordPress website after a YouTube crash course. Then evolving into freelance gigs, team collaborations, and eventually running a white label agency working alongside other agencies around the world.</p>



<p>Jennifer&#8217;s experiences have exposed her to the highs and lows of agency life. Projects that run smoothly, but also cultures that can become toxic, people burning out, and the all too familiar frustration of unbillable hours, and broken processes.</p>



<p>This inspired Jennifer&#8217;s lightning talk at WordCamp Europe 2025, where she shared some of the most common, and painful, mistakes she&#8217;s seen agencies make, and what can be learned from them.</p>



<p>Jennifer walks us through her path in the WordPress world, and we discuss three real world mistakes agencies make. Web support that drains your soul, the design handoff from hell, and work more, bill less, and smile anyway.</p>



<p>We talk through support, bottlenecks, frustrating design to development handoffs, and the dilemma of over servicing clients without fair compensation.</p>



<p>Jennifer shares her candid perspective on why processes and honest communication matter, not just for the bottom line, but for the mental health and building sustainable teams. She also discusses how transparency, learning from failure, and continually improving processes can improve agency life.</p>



<p>Jennifer&#8217;s approach is refreshingly open about both the mistakes and the solutions, aiming to help others avoid repeating them.</p>



<p>If you found yourself frustrated with agency workflows, or are hoping to build a healthier business in the WordPress ecosystem, this episode is for you.</p>



<p>If you&#8217;re interested in finding out more, you can find all of the links in the show notes by heading to wptavern.com/podcast, where you&#8217;ll find all the other episodes as well.</p>



<p>And so without further delay, I bring you, Jennifer Schumacher.</p>



<p>I am joined on the podcast today by Jennifer Schumacher. Hello, Jennifer.</p>



<p>[00:03:26] <strong>Jennifer Schumacher:</strong> Hello. Nice to be here.</p>



<p>[00:03:28] <strong>Nathan Wrigley:</strong> We&#8217;re here on Contrib Day. It&#8217;s WordCamp Europe 2025. Now, because it&#8217;s Contrib Day, that means you haven&#8217;t yet done what it is that you are going to do at WordCamp Europe. But you&#8217;ve got a presentation, like a lightning talk. So you&#8217;ve got 10 minutes to stand on the stage.</p>



<p>The idea is that you are going to be talking about agency, WordPress agencies, how they mess up, I&#8217;m going to use that word, and how they can learn from their mistakes.</p>



<p>So before we get into that, just tell us a little bit about you.</p>



<p>[00:03:56] <strong>Jennifer Schumacher:</strong> I started web development about 15 years ago, maybe a even more even. I was at university, no money, on a freelance platform, and somebody asked me if I could build a website. I checked on YouTube, okay WordPress. I said yes, and then I sold a website. No idea how to do it, honestly. But then YouTube helped me figure things out, and that&#8217;s how I started and fell in love with it. No way to turn back.</p>



<p>Went for it, did a couple of freelance gigs and then, you know, joining other team members, joining other people in the freelance world, building like groups, working on stuff together, working on projects. And then it grew, got bigger. We got bigger projects. We built a white label team working for the agencies, collaborating with other agencies. And that&#8217;s what I have done over the past years. So that&#8217;s a bit of my background.</p>



<p>[00:04:47] <strong>Nathan Wrigley:</strong> Yeah, that&#8217;s perfect. Yeah, that&#8217;s great. I think your story sounds like a lot of people&#8217;s stories in that they, if you began 15 years ago, the web was still very much discovering what it was going to be. And you drop in and learn as you went along. I think maybe now that&#8217;s a little bit more difficult. I think if you drop in these days, it&#8217;s maybe more challenging. There&#8217;s so much more competition out there and things like that. yeah, your story kind of mimics mine except that you grew an agency and I didn&#8217;t, I just stuck as a one person, and that kind of worked out for me.</p>



<p>[00:05:15] <strong>Jennifer Schumacher:</strong> Yeah, it&#8217;s like the people network, right? You meet different people and then you get to know each other, and then you start learning, and then you think about the opportunities. And then either you say, okay, this is a path that I want to take, or you don&#8217;t, right?</p>



<p>[00:05:27] <strong>Nathan Wrigley:</strong> And have you ever worked for other people in website building? Have you worked for other agencies, or been an employee? Or has it always been you and the agencies that you have run?</p>



<p>[00:05:36] <strong>Jennifer Schumacher:</strong> I never have been like an employee per se, so it was more like a contractor, but either freelance or for the agency that we built. But the nice thing, and why I really loved this was it was in different roles, right? Sometimes I was the designer in the beginning, or I was the developer. Later on I did develop myself, but that was in the WP Bakery days. So I don&#8217;t do that anymore to be honest.</p>



<p>Yeah, so it was design then more development. And then later on I moved more into project management. And then in the most recent years, there&#8217;s so many things that I, after all those years, you know, it&#8217;s nice, I love WordPress, but certain things make me sick. I was like, God, no, I don&#8217;t want this anymore.</p>



<p>Certain stress levels that I&#8217;ve reached where I said, no, I don&#8217;t want to do it the same old way as usual. This is something that my talk will be about, to be honest.</p>



<p>And the last couple of years have been more about process improvement. Doing things faster, less stress, and then also all these unbillable hours that many people just hide below the table. So this has been my focus for the last couple of years.</p>



<p>[00:06:41] <strong>Nathan Wrigley:</strong> Okay. Well, I&#8217;ve got to say it&#8217;s very, very nice to meet somebody who&#8217;s really open and honest about their successes, but also things that they consider they could do better. Let&#8217;s use the word failures. I think most people kind of hide that stuff, but it&#8217;s really interesting that you are doing a presentation where you are raising that as, okay, I messed this up, I messed this up, I messed this up, and here&#8217;s how I took it as a, you say learning opportunity, which I suppose is the best way to parse any of those kind of things.</p>



<p>Why are you doing a talk though at WordCamp? So this is kind of a more of a community question. It&#8217;s not really about the presentation itself. I&#8217;m just curious as to why, what is it that you get out of it? Do you just enjoy sort of hanging out at these events or, why have you decided to do it?</p>



<p>[00:07:20] <strong>Jennifer Schumacher:</strong> How can I explain that in the best possible way? I&#8217;ve met many great people over the years, but I&#8217;ve seen many of them who got frustrated about certain things in part of the culture at the agency they worked at. I&#8217;ve seen toxic cultures as well. I&#8217;ve seen many projects that started off very nice and then it became frustrating over the time. And then towards the end, people were not getting paid according to what they actually delivered.</p>



<p>I&#8217;ve seen people that later on actually quit and they said again, I don&#8217;t want to do it anymore. That they were so frustrated, especially in project management, I&#8217;ve seen a couple of them just drop out. It&#8217;s like, you know what? Not doing it anymore. And I don&#8217;t think that that&#8217;s worth it.</p>



<p>If we don&#8217;t talk about what goes wrong, if we don&#8217;t acknowledge about stuff, these things that could be better, and then say, hey, you know what, let&#8217;s figure out a better path and resolve this kind of stress because we deserve a better team that&#8217;s in sync, then what are we doing? If we just continue and say, well, that&#8217;s agency life, you know? That&#8217;s how it is in agencies. No, it&#8217;s not supposed to be that way.</p>



<p>If you just accept it and just go with it, then it&#8217;s going to be that way. I think it&#8217;s worth sharing that, because if you don&#8217;t ask the question, how can it be better? You&#8217;re not making anything better to be honest.</p>



<p>[00:08:38] <strong>Nathan Wrigley:</strong> Okay. Thank you. So let&#8217;s hope that the wisdom that you impart will land with the people. But you&#8217;ve got this idea of three real world agency mistakes. That&#8217;s what you&#8217;re going to focus on in your 10 minutes.</p>



<p>I have a question around that. So obviously you&#8217;re going to highlight the things that went wrong, explain how you tackled it. Do you ever get the sense though that there&#8217;s ever, and I&#8217;m doing air quotes, a perfect system? Have you ever landed on something where you think, okay, that&#8217;s it, I do not need to improve that thing anymore? Or is there always room for improvement?</p>



<p>[00:09:09] <strong>Jennifer Schumacher:</strong> Well, that&#8217;s a good question to be honest. I&#8217;m German. Many Germans try to be perfect to be honest. But I don&#8217;t think perfect exists, and isn&#8217;t imperfect perfect. Because the thing is like, learning is a journey, so if we set up a system and then we figure out, okay, let&#8217;s try that way, and then we work with it and then see, what can we tweak, what can we improve? And isn&#8217;t that what makes it perfect, right? Because we keep improving things.</p>



<p>There are new things coming out now, you know, AI is everywhere. So, are there certain things that we can use that help our system? We just keep tweaking it. So, no, perfect system. Do I want one? No. Is it fun to keep tweaking things? Yes. So I think you&#8217;re just trying to get started, build a certain setup and try to improve it over time.</p>



<p>[00:09:58] <strong>Nathan Wrigley:</strong> Yeah. So that would&#8217;ve been the way I would&#8217;ve paraphrased it as well. You kind of get something which feels like it&#8217;s good for now and then the technology changes, WordPress adapts and you have to figure it out a new. Okay, that&#8217;s great.</p>



<p>So there are three things that you&#8217;re going to tackle. Maybe you could&#8217;ve done 5, 10, but the time was probably the limitation. What are the three things that you are going to mention? What are the three things which agencies make as mistakes that you have encountered?</p>



<p>[00:10:21] <strong>Jennifer Schumacher:</strong> First of all, I had to think a lot about, okay, which kind of situations do I want to include, right? Because over the years, you know, you collect a lot of stories, and I think the most impactful is a story. You want to talk about a specific situation where you were in. And so I was thinking about, what should I cover?</p>



<p>For each story I made a nice headline. I can just quickly share those headlines, and then you think about what you think that that means.</p>



<p>[00:10:46] <strong>Nathan Wrigley:</strong> Perfect.</p>



<p>[00:10:47] <strong>Jennifer Schumacher:</strong> So the first one is, support that drains your soul. The second one is, the design handoff from hell. The third one is, work more, build less and smile anyway.</p>



<p>[00:10:59] <strong>Nathan Wrigley:</strong> Let&#8217;s go back to the first one then. You&#8217;re going to have to say the exact wording, because I&#8217;ll probably get it wrong. What was number one again?</p>



<p>[00:11:04] <strong>Jennifer Schumacher:</strong> It&#8217;s web support that drains your soul.</p>



<p>[00:11:07] <strong>Nathan Wrigley:</strong> Okay, tell us, what went on here? What calamity befell you and your agency that led to that portion?</p>



<p>[00:11:13] <strong>Jennifer Schumacher:</strong> I&#8217;ve seen it in many, many agencies and if, for example, once I had a agency in Switzerland and they said, we manage one point of contact for our clients. So this was mainly the project manager, right? So whenever the client wanted something, they contacted this person.</p>



<p>Why was that not a good idea? Because pretty often the people that I met were just simply overworked, especially when it came to support staff. Because the client got in touch with them, they got in touch with the designer. The designer got in touch with them. They got back to the client and they were just in the middle on every little item.</p>



<p>And the more you have of this kind of support work, the stressier it gets. And this is something where I&#8217;ve seen a lot of things go wrong and where I&#8217;ve seen a lot of frustration just for being the person in the middle.</p>



<p>[00:11:58] <strong>Nathan Wrigley:</strong> That was something which was commonly, I want to use the word taught. People often told me it would be better to always deal with this one person, because that one person at least is this single point of contact. You can build up a relationship with them. Just prize that open a little bit. Has that led to problems, and what were those kind of problems? Was it that that person, I don&#8217;t know, maybe they are not a good communicator or something like that?</p>



<p>[00:12:21] <strong>Jennifer Schumacher:</strong> Well, the thing is, that person doesn&#8217;t, it&#8217;s just a person most of the time that communicates. This person&#8217;s never resolving the issue. So for example, the client has something super simple, I want to change the position of that button. So the client asks their single point of contact. The single point of contact, they go to the developer, hey, they want to change that button. But then the developer goes back, but yeah, but this position we cannot do, it&#8217;s not recommended.</p>



<p>It&#8217;s like ping pong. And let&#8217;s say changing that button takes like maybe just 30 minutes, but the entire communication about where the button should go and why not there, why it would be more recommendable to go into that spot exactly, or which size or animation they want. These kind of details take maybe two and a half hours. But now the client doesn&#8217;t really want to pay for the communication about it.</p>



<p>And then in the end, I&#8217;ve seen many, many agencies, they just put this under the table, under the rug, or they say it and then just don&#8217;t admit it. And if you have a lot of these support items, you have a lot of unbillable hours. And is that sustainable? No. Is that frustrating? Yes. Especially if you&#8217;re a small team and you need to bill for the time. If you&#8217;re not able to bill for it, then what are we doing here?</p>



<p>[00:13:31] <strong>Nathan Wrigley:</strong> So this is the idea then that in a company, let&#8217;s say that you as a freelancer are working with a company, I don&#8217;t know, maybe they&#8217;ve got a hundred employees or something like that. You&#8217;ve set it up so that you only speak with this one person in their company. But those other 99 people are funneling all of their bits and pieces through that one person.</p>



<p>You just get this backwards and forwards. That one person becomes a bottleneck because they&#8217;ve got to communicate with the 99 people. Any change has to go through them.</p>



<p>Okay, what was the second one? I&#8217;ve forgotten, I&#8217;m sorry.</p>



<p>[00:13:57] <strong>Jennifer Schumacher:</strong> The design handoff from hell.</p>



<p>[00:13:59] <strong>Nathan Wrigley:</strong> Okay, what&#8217;s that?</p>



<p>[00:14:00] <strong>Jennifer Schumacher:</strong> Have you ever worked, like you&#8217;re a developer and then you are working on a project where they say, okay, the design will be done by a design agency or by some other designer. And then you get the design, you&#8217;re like, well, that doesn&#8217;t fit anymore what I thought I would spend on time in the beginning. And then I get a file, it was not even clear like this page, what should be the H1?</p>



<p>And then inconsistent styles. And then suddenly on the mobile view, if the designer also did a mobile view, the designs do not match at all. Like, on this screen they use this size, on this screen, this size. Super inconsistent. And this is so frustrating. Because as a developer, in theory, then suddenly you have so many hours.</p>



<p>Then, again, you have to decide, do I log them? Do I tell them that this is not anymore a fit? And if I am not anymore making it a fit, do I look bad? And again, unbillable hours. And then either you bill them or you&#8217;re like hiding them. I don&#8217;t like that.</p>



<p>[00:14:57] <strong>Nathan Wrigley:</strong> This is the idea of if you are, I guess if you&#8217;re in a big agency where you&#8217;ve got a design team, and the design team is literally in the, you know, the cubicle next to you. That&#8217;s a fairly easy point to solve because you just stand up and have a chat about it. But if you&#8217;re a freelancer, or you&#8217;re dealing with a third party design agency or something like that, it&#8217;s a real bottleneck, isn&#8217;t it?</p>



<p>Because you get a design, it looks great, but suddenly you realise, well, yeah, it looks great, it would make a great magazine piece. Transferring that over to the web with H1s and paragraphs, and it&#8217;s got to be accessible and color contrast has got to be good and all of this kind of stuff, that suddenly becomes problematic.</p>



<p>And usually the client doesn&#8217;t have that same level of expertise. So you know, they might catch sight of that design and think, perfect, do that. Do exactly what we see and then you have to have this whole tennis again of explaining, well, actually we can&#8217;t do it quite like that. So, okay, that&#8217;s the second one.</p>



<p>[00:15:50] <strong>Jennifer Schumacher:</strong> What I can tell you is that I&#8217;ve seen this happen nonetheless in big agencies too. I have worked also with agencies with more than 150 employees. And it always depends a lot on their internal processes and how they approve and the system, right?</p>



<p>Nonetheless, I&#8217;ve seen also like big design agencies, and it looked all fancy, but then it did not match up. Maybe you&#8217;re very good at selling, but if you internally do not have certain systems in place, this stuff can still happen.</p>



<p>[00:16:21] <strong>Nathan Wrigley:</strong> Yeah. And I also feel that when I was doing this kind of work, when I was a freelancer, I had to be all the things. I had to be literally everybody. I had to be the designer, I had to be the developer, I had to be the communicator, I had to be the marketer, I had to be the SEO. I had to be all of these things. And with the best will in the world, I&#8217;m not the best at all of those things. Probably one or two things I&#8217;m pretty good at, but the rest of them fairly lousy.</p>



<p>And so that kind of fits in as well. And again, the process, getting a process exactly right. You are all about sort of saving money by having a process, saving time and money by having a process, yeah.</p>



<p>[00:16:54] <strong>Jennifer Schumacher:</strong> To be honest, in my opinion, it&#8217;s mental health. Because if it goes on for too long that you&#8217;re charging less than what you are actually bringing to the table, that&#8217;s frustration. You bring that frustration to your home, that&#8217;s when you get stressed out. You share with your family what happened. You are like unloading the stress. You are not that much capable of being a good listener if you&#8217;re stressed. And you want to be a good listener with the people that you love. So, what are we doing here? You know?</p>



<p>[00:17:23] <strong>Nathan Wrigley:</strong> You also become like a double fronted marketplace a little bit. Because you&#8217;ve got the designer over here who&#8217;s giving you designs and you are sat in the middle. And then you&#8217;ve got the client over here and you are sat in the middle. And you become this person that has to communicate the ideas in both directions.</p>



<p>And when they say, we want this, you have to communicate that back to the designer. Do you have like a trusted designer or a design, like a network or a team or something like that, that you just more or less rely on that because you&#8217;ve figured out they know what I am typically going to want?</p>



<p>[00:17:52] <strong>Jennifer Schumacher:</strong> I give them guidance how I want it. Some have, you know, worked with me before, here and there, and then they already know. But I tell them exactly how we need things, and then I point things out, okay, hey, like a checklist. Okay, we need to check this, this, this, this, this. And this sometimes could take a lot of time too, depending on the people that, you know, I work with.</p>



<p>But it&#8217;s not that I have like a hundred percent go-to person per se. No. Maybe I can share that same thing. I did design many years ago, then development. And sometimes I need to also, you know, pause and say like, Jenny, no, don&#8217;t jump in and just do it yourself. You know, I could, but I just should not. So I just try to, let&#8217;s say, express how I need things to be done before going into development. If that&#8217;s not done, we&#8217;re not going into development.</p>



<p>[00:18:41] <strong>Nathan Wrigley:</strong> I think designing for the web is really difficult because it is a real skill in and of itself. You know, if you&#8217;re designing for a magazine layout, I mean, obviously there&#8217;s a high level of skill required to do that in an effective way. But then being able to actually understand the semantics of that design, and how it might look, and especially now where we&#8217;re going into a web which is not three view ports. It&#8217;s not just mobile, it&#8217;s not just tablet, and it&#8217;s not just desktop.</p>



<p>It&#8217;s this much more kind of, we have no idea what you&#8217;re going to be viewing it on. We don&#8217;t know the width. I think this sort of Intrinsic Design, which people keep talking about, that makes the job even more difficult, okay. So there&#8217;s number two.</p>



<p>Number three, what was that one?</p>



<p>[00:19:23] <strong>Jennifer Schumacher:</strong> Number three was, work more, bill less and smile anyway.</p>



<p>[00:19:27] <strong>Nathan Wrigley:</strong> Okay, go on. Did you say work more, bill less?</p>



<p>[00:19:30] <strong>Jennifer Schumacher:</strong> Yeah. Work more, bill less.</p>



<p>[00:19:32] <strong>Nathan Wrigley:</strong> That seems counterintuitive.</p>



<p>[00:19:33] <strong>Jennifer Schumacher:</strong> Yeah.</p>



<p>[00:19:33] <strong>Nathan Wrigley:</strong> Most people would say work less, bill more.</p>



<p>[00:19:36] <strong>Jennifer Schumacher:</strong> Well, everybody likes to say that, which is unfortunately, the truth is not always how it works, right? So, how about this? Have you ever been on a project where time goes by in the beginning, everybody&#8217;s excited? All fits, looks good. We&#8217;re progressing and then the client comes back with feedback and then there&#8217;s a change. Maybe it&#8217;s a change request, you know, okay, we add some extra hours.</p>



<p>But then there&#8217;s something that either we did not notice, for example, oh, this doesn&#8217;t work in the Safari. And suddenly we need to work a bit more to make it a fix. But the budget is really tight. Anyway, we need to fix this. Or the client wants something, oh, but this should also animate. You animated this, but also this needs to be animated.</p>



<p>Details. Detail here, a detail there. And then suddenly you notice like, well, the budget we had is not anymore available, but the client is still asking for things, and even saying stuff like, that should be included. How could you charge that extra? Or it was not communicated early enough like, hey, you know what, client, our budget is getting tight. If you are requesting more things, we will need to invoice you extra down the road.</p>



<p>Of course you want to say, okay, if there&#8217;s something wrong with our work, we will cover this internally. You don&#8217;t want to be somebody who says, okay, I did a mistake, but I&#8217;m not correcting it, haha. But if the client is requesting more stuff, you need to let them know in advance. Because if you let them know later, they also go like, huh? Where does that come from? Why didn&#8217;t you tell me that this has got more expensive?</p>



<p>And then suddenly you cannot charge them for that. And now you worked more, but you are effectively billing less if you take your effective hourly rate, what you actually delivered and work.</p>



<p>I&#8217;ve met agencies, freelancers, when they would really calculate their effective hourly rate, they would be crying, sitting in the corner of the room and crying. This is frustrating, right? And nobody likes that. But anyway, they expect you to sit there smiling and just pretend like everything was good.</p>



<p>[00:21:33] <strong>Nathan Wrigley:</strong> Do you always do that with your clients though? Do you have that approach of, we must smile through this, even though things are not necessarily working out? Because that was one of the things that you wrote in your description. Let me just find it. You wrote, it&#8217;s about laughing, learning, and maybe even recognising a situation you&#8217;ve been in yourself.</p>



<p>So do you try to have that sort of humorous approach when things are not working out? Can you always laugh? Because sometimes these things can be so profoundly, well, annoying, let&#8217;s go with that. It&#8217;s difficult to laugh, I think.</p>



<p>[00:22:01] <strong>Jennifer Schumacher:</strong> I think it depends a lot on your personality. I can tell you something. So I live in Spain and in Mexico. I&#8217;m German, but I don&#8217;t live anymore in Germany. But I think when you meet different cultures and see how they react, how they treat certain situations, that made me open up my eyes and see like, okay, you know, you always have the choice. How do you react to this? This is your choice.</p>



<p>And if you get frustrated and you dwell into the pain and just continue again and again, and in the same cycle, then that&#8217;s your choice. What&#8217;s the other end, right? You can just say, hey, you know what? It was a mistake or this happened. I&#8217;m not happy about it, but the only thing I can do is appreciate that it happened because it gave me the opportunity now to learn from it. And that&#8217;s the super different perspective.</p>



<p>Some people are not capable of thinking like that, but I prefer to think like that, because it makes me feel better and it makes me look at possible solutions and focus on that. Instead of me looking at the situation, focusing on the issue and the problems.</p>



<p>[00:23:07] <strong>Nathan Wrigley:</strong> I think it&#8217;s very difficult in the moment sometimes to be so, I&#8217;m going to use the word sanguine. Just to be so measured about it because you know, something doesn&#8217;t work out. Maybe the first reaction is a buildup of anger or something like that. But to have that, to be able to in your head, parse that and say, you know what? The anger probably won&#8217;t get me anywhere, but viewing that as a learning opportunity.</p>



<p>Because you go into pains, that&#8217;s what you say over and over again. Treat it as a learning opportunity. It&#8217;s almost like Zen Buddhism, or something like that, you know, it&#8217;s kind of trying to turn a bad situation into a good situation.</p>



<p>But you are also at pains to say, well, it feels like you&#8217;re at pains to say, just don&#8217;t keep repeating it though. You know, if something bad happened, learn from it, but then adapt the process. Make the process different so that it doesn&#8217;t happen a second or a third time because, well, that&#8217;s crazy making.</p>



<p>[00:23:57] <strong>Jennifer Schumacher:</strong> Yeah. But that&#8217;s, again, the reason why I think I really love the opportunity to be here and to be having that speech at WordCamp. Because, I get frustrated just thinking about it, I&#8217;ve seen so many great people just do the same thing over and over again, because they think that&#8217;s it and that&#8217;s how it is in agencies. It doesn&#8217;t matter if they work at this agency or that agency.</p>



<p>Maybe some do it a bit different here or there, but the same problems come up and they do not really think about, how can I resolve this? New project. Like, new projects will fix it, or let&#8217;s sell more. Let&#8217;s fix it in the next project. Let&#8217;s fix it in the next project.</p>



<p>But then they don&#8217;t think about a fix. And I have a couple of people who I really think like, God, you&#8217;re so good at what you do, but why do you do this to yourself? Why don&#8217;t you think about how to get out of this mess? And I think that&#8217;s what I want to do, what I want to share because you have to focus on how to solve this. Otherwise, if you don&#8217;t make it a priority, you&#8217;re stuck where you are.</p>



<p>[00:24:50] <strong>Nathan Wrigley:</strong> I guess also, each one of us really genuinely does have, so I&#8217;m focusing on a freelancer at the minute, you know, so you&#8217;re not in an agency, it&#8217;s just you. We all really genuinely do have a unique set of attributes which make us the way we are. And it may be that you just have to lean into those. You&#8217;re good at this thing, you&#8217;re not so good at that thing, so maybe that gets outsourced, or maybe you just have to approach it in a different way. But it&#8217;s very, very hard.</p>



<p>I also think that over the last 10 years, we&#8217;ve lived through a cycle of YouTube videos where people are trying to pitch us the perfect solution. In 10 minutes I&#8217;ll teach you how to revolutionise your agency. Some of that works, I&#8217;m sure, but there seems to be quite a bit of snake oil there as well.</p>



<p>And what i&#8217;m trying to say is, just because it&#8217;s in a YouTube video or somebody is shouting from the rooftops that they&#8217;ve got the answer, it may be that that answer actually won&#8217;t work for you because that&#8217;s not who you are.</p>



<p>[00:25:43] <strong>Jennifer Schumacher:</strong> Yeah. Well, that can be too. The thing is like, if you see those fancy videos on YouTube with these nice titles, they put them because that gives them a better click rate because people are more like, okay, well, I want to see if I just say like I have something that&#8217;s way high work. If you think that that&#8217;s a good idea or not, that&#8217;s up to you. It&#8217;s not a big selling point, right?</p>



<p>So they write it that way just because of the enticing title makes you click. So that&#8217;s also, you know, it&#8217;s your human brain that follows this kind of direction. Yeah, so I think a big part, just as you mentioned, resources, YouTube. For me, the biggest part has been asking. And that&#8217;s why I loved, we started white labeling, working with other agencies, I learned so much from them. So much.</p>



<p>And just sharing, I have one CEO that I once asked, he had built an agency with over two hundred employees, and they started out as four many years ago. I asked him for lunch. I asked, I would love to know how you did it. What was your motivator? How did you decide who to hire? How did you find the right people? What were the big decisions or risks that you took.</p>



<p>And I think that is so important. Why not? What do we have to lose? I think, why not open up conversations and just ask, how are you approaching this? And I think this kind of stuff gets lost a lot. It&#8217;s not just only just sitting there and looking at YouTube videos. Who else could I ask? How do you deal with this?</p>



<p>[00:27:12] <strong>Nathan Wrigley:</strong> I have a question, which is maybe one that you don&#8217;t want to answer because it&#8217;s quite vulnerable. But what is your biggest mistake? What&#8217;s the thing that if you look back over your career you think, oh boy, that was a calamity?</p>



<p>[00:27:23] <strong>Jennifer Schumacher:</strong> I have one and I think I&#8217;m not, well, it is embarrassing. Yes, it is. But why not? It&#8217;s like a learning opportunity, right?</p>



<p>So when I was younger, oh God, I don&#8217;t know how many years ago, it was like 10 years maybe. So I thought, okay, I want to build a team, I want to do this. Let&#8217;s make it at an agency. We have clients, we have projects, okay, cool.</p>



<p>So I searched for people. I got an office and we were all there. And I thought, okay, I also want to be great with our culture because I think, you know, the team is what matters because only if the team is happy, we can make great work. I wasn&#8217;t going to be the one that&#8217;s sitting there with a whip, you know, like, do this, do this, do this. That was not how I envisioned myself.</p>



<p>But I focused so much on this team that I did not notice that I did not yet learn enough how to be a good salesman. Few months later, I ran out of money.</p>



<p>And because I was not yet intelligent enough about putting up boundaries that certain clients were like, oh, what? That should be included. Why was that not covered? And we just went in and covered it and not communicate, okay, that we stopped covering certain things for free. We did not yet know how to charge certain things on time.</p>



<p>So we were still like, or I was still, did not resolve it. I did not think about, how do I need to do it so I don&#8217;t get myself in the situation that I would have a hard time getting out of, especially financially? And then I had to say, okay, that&#8217;s it. Pack my bags. I then started a job in sales. And then I had to learn, damn, how do I sell? How do I communicate? And that I did for a year and a half. And when, again, made more money outside of the job, I did quit.</p>



<p>[00:29:06] <strong>Nathan Wrigley:</strong> Okay, so that was a real learning opportunity, wasn&#8217;t it? You went, the whole thing collapsed but the key bit that was missing was sales. You pick yourself up, got a sales job, learnt the sales portion, and then kind of began again. I guess it worked out the next time.</p>



<p>[00:29:18] <strong>Jennifer Schumacher:</strong> Yeah. This time, we&#8217;re still here.</p>



<p>[00:29:20] <strong>Nathan Wrigley:</strong> That was the low point. That was the thing which you did worst. Maybe you&#8217;ll be good at answering this question. Some people are a bit shy when you ask a question like this. What&#8217;s the thing that you think you&#8217;ve done best?</p>



<p>[00:29:29] <strong>Jennifer Schumacher:</strong> Oh. What? The best.</p>



<p>[00:29:30] <strong>Nathan Wrigley:</strong> Yeah. What&#8217;s the bit that if you look back over your 15 years, I mean, it may not be exactly one thing, but can you summon up something which you think, actually, do you know what? I&#8217;m really proud of me for that.</p>



<p>[00:29:41] <strong>Jennifer Schumacher:</strong> I&#8217;m really proud of me for opening up and saying like, you know what, that&#8217;s not how it has to be. I don&#8217;t want this anymore. I want to see how I can improve this. I must say that my husband has been a bit of an inspiration here too. He&#8217;s the kind of person that&#8217;s like, ah, I want to work less. Like, I don&#8217;t want to work that much. And he finds a way to do it. He always does. He always finds his way around. It&#8217;s like, how come that he figures that out and I don&#8217;t? And I&#8217;m like, sitting here stressed.</p>



<p>And there was also this thought like, do I like this stress? Do you know these people who are addicted to this kind of stress? And they just think they need it. It&#8217;s like, do you really think you need it? Do you really think that that&#8217;s what you want? Yeah, this is what made me think. And I&#8217;m happy that decision, saying like, you know, no. I don&#8217;t want that anymore.</p>



<p>And i&#8217;m still having things to learn. You know, there&#8217;s still things that I&#8217;m working on. Totally. I think having that in your, like a little angel, I don&#8217;t know, or figure in the back of your head saying like, you shouldn&#8217;t do that. Can this be better? Think about it. That&#8217;s what I&#8217;m proud of.</p>



<p>[00:30:47] <strong>Nathan Wrigley:</strong> Being honest with yourself, even if that means some uncomfortable realisations.</p>



<p>[00:30:51] <strong>Jennifer Schumacher:</strong> Oh God, yeah. Tell me. Admitting to yourself like, damn.</p>



<p>[00:30:56] <strong>Nathan Wrigley:</strong> Yeah. Yeah. I know what you mean. We often have a culture of, okay, just work harder. Just keep going. Just keep doing the same thing because I&#8217;m pretty sure the process over there is bulletproof. Just keep going, and maybe being a bit more open with yourself and trying to learn from the mistakes.</p>



<p>[00:31:12] <strong>Jennifer Schumacher:</strong> And I think when you see somebody, it&#8217;s not cheating the system, but it&#8217;s kind of like doing it faster and being more relaxed and even having time to do some extra stuff, and you&#8217;re like, I want that. Why am I not striving for that? Why the hell I&#8217;m just focusing on being more busy? I think you start doubting things.</p>



<p>[00:31:31] <strong>Nathan Wrigley:</strong> Yeah, that&#8217;s interesting. There&#8217;s always somebody in my life who seems to have way more free time than I do. There has to be a reason for that. And probably that they&#8217;ve just figured it out and allowed themselves the time off.</p>



<p>And I always found that curious. I would find myself sitting at the desk doing the busy work, just because it felt like I needed to be shackled to the desk because that was where work took place. But really, I probably would&#8217;ve been way more productive if I&#8217;d gone for a walk for half an hour or just did something a little bit more for me, and then come back, regroup, start again. I never did learn that.</p>



<p>[00:32:05] <strong>Jennifer Schumacher:</strong> Isn&#8217;t that, like it sounds so weird, but isn&#8217;t that kind of the expectation of society that you should be sitting there on that desk. How come you&#8217;re just going for a walk? How come you&#8217;re just saying, you know what, I&#8217;ll just get my hair done. Let&#8217;s just relax a bit and then I get back with a clear mind to that issue. Why not? But no, society expects you to be available, to be at the desk. That&#8217;s how you look good.</p>



<p>[00:32:29] <strong>Nathan Wrigley:</strong> And it&#8217;s curious, we&#8217;re in such a fortunate position. I mean, obviously if you work in an agency and they provide you with a desk and you have to be there from nine to five, you&#8217;ve got that. But there&#8217;s a lot of people in our industry who don&#8217;t. You know, they&#8217;re working out of a spare room in the house. Maybe they&#8217;re doing it out the kitchen or what have you. And you can, you genuinely can, take time off and do other things and work a little bit later because you gave up some time during the day. You can be flexible. I think that&#8217;s one of the most remarkable things about the industry that we&#8217;re in. It&#8217;s utterly brilliant.</p>



<p>[00:32:57] <strong>Jennifer Schumacher:</strong> I read the other day on my phone an article, it was about a bank where they were saying like the four day work week. And they were saying like, now that AI is around the corner, it&#8217;s a no brainer. That&#8217;s going to happen. Because we will be able to get more efficient with how we do things. And I think, isn&#8217;t that beautiful to more focus on outcomes instead of like the nine to five.</p>



<p>Well, depends also how you manage the agency and everything. And I&#8217;ve seen many, they said they want to call their employees back. For example, in Mexico, like I live partially there. Many, many people got called back. But others in Germany I&#8217;ve seen, they still keep a hybrid model. Some days they just say, okay, we do a day here, a day there. But many developers said like, nope, staying at home.</p>



<p>[00:33:42] <strong>Nathan Wrigley:</strong> So people listening to this podcast, hopefully some of them will think, do you know what? It&#8217;d be really interesting to chat this through with Jennifer. You know, she seems like she&#8217;s got some interesting ideas around that. Do you have a little community of people that you vent your anger, vent your frustration with? Do you have a little clique of people where you share the ideas that you&#8217;ve been discussing today?</p>



<p>[00:34:01] <strong>Jennifer Schumacher:</strong> Besides my husband.</p>



<p>[00:34:02] <strong>Nathan Wrigley:</strong> Yeah, how do you keep yourself sane? Yeah.</p>



<p>[00:34:04] <strong>Jennifer Schumacher:</strong> I do not yet have a big community, but I am working on this. Because I think it&#8217;s great just to share. I was in this mess, in this chaos until I realised, like I had this awakening moment for more like 10 years. So 10 years, I kind of would, was like lying to myself, I feel.</p>



<p>So I would love to share more. I want to do a LinkedIn live show. So I&#8217;m preparing that kind of stuff just to share, like we do, like a bit of talking. How did you do that? And just this story. I have a great network of people that I&#8217;ve met over the years with great stories.</p>



<p>And this is something that I want to share. I also wrote a book for freelancers, where I just share the exact same thing because damn, I wish I would&#8217;ve noticed certain things earlier, to be honest. Because 10 years is quite a lot, you know? And especially when you start out and you&#8217;re freelancing, oh God, I just charge way less. I just shouldn&#8217;t think about it.</p>



<p>But you know, I didn&#8217;t even know how much I was worth. I didn&#8217;t even know how to protect myself so that certain situations I could say ahead of time, you know what? That&#8217;s it. This entire project management mindset, or building the system, it didn&#8217;t occur to me for so long. I just thought, no, let me put this in a book and then, why not?</p>



<p>[00:35:21] <strong>Nathan Wrigley:</strong> So, where do we find the book? Or where&#8217;s the best place to find you, which then might link to the book?</p>



<p>[00:35:26] <strong>Jennifer Schumacher:</strong> On LinkedIn. And just, first of all, my network, I just want to get some feedback and then improve it. And then let&#8217;s see what else I can put in it. I also can share you something, maybe that&#8217;s something you found interesting. There&#8217;s this writer, Ryan Holiday. He has a great, great book that&#8217;s just called Growth Hacker Marketing. Read it. I love it. And I love the way how he writes this book because it&#8217;s so honest. It&#8217;s so transparent.</p>



<p>And I wrote it the same way he did. I took my entire inspiration, how I wrote it, based on his book. And I also have a couple of stories that I share at the end of the book from other people out of my network. How they did resolve, for example, the cash flow issue, right? How they approached the entire setup. Where how they even were able to sell their agency. You know, like build it and sell it.</p>



<p>That&#8217;s what I mean, ask others. Ask others how they did it. And then not getting stuck on these fancy YouTube videos for people that say they have the solution. But I think it&#8217;s so much worth it just to have conversations and learn and listen.</p>



<p>Maybe you do not have to take everything that people say, but maybe just can take a bit here or there and then build your own. That&#8217;s what I like.</p>



<p>[00:36:34] <strong>Nathan Wrigley:</strong> Perfect. Jennifer Schumacher, thank you so much for chatting to me today.</p>



<p>[00:36:38] <strong>Jennifer Schumacher:</strong> It was a pleasure to be here, to be honest. Thank you.</p>
</div></details>



<p>On the podcast today we have <a href="https://profiles.wordpress.org/schumjenny/">Jennifer Schumacher</a>.</p>



<p>Jennifer has been working with WordPress and web development for over 15 years. Her journey began with a spark of curiosity in university, building her first WordPress website after a YouTube crash-course, then evolving into freelance gigs, team collaborations, and eventually running a white label agency working alongside other agencies around the world. </p>



<p>Jennifer’s experiences have exposed her to the highs and lows of agency life, projects that run smoothly, but also cultures that can become toxic, people burning out, and the all-too-familiar frustration of unbillable hours and broken processes. This inspired Jennifer’s lightning talk at WordCamp Europe 2025, where she shared some of the most common (and painful) mistakes she’s seen agencies make, and what can be learned from them.</p>



<p>Jennifer walks us through her path in the WordPress world, and we discuss three real-world mistakes agencies make: “web support that drains your soul,” “the design handoff from hell,” and “work more, bill less and smile anyway.”</p>



<p>We talk through support bottlenecks, frustrating design-to-development handoffs, and the dilemma of over-servicing clients without fair compensation. Jennifer shares her candid perspective on why processes and honest communication matter, not just for the bottom line, but for mental health and building sustainable teams.</p>



<p>She also discusses how transparency, learning from failure, and continually improving processes can improve agency life. Jennifer’s approach is refreshingly open about both the mistakes and the solutions, aiming to help others avoid repeating them.</p>



<p>If you’ve found yourself frustrated with agency workflows, or are hoping to build a healthier business in the WordPress ecosystem, this episode is for you.</p>



<h2 class="wp-block-heading">Useful links</h2>



<p> Jennifer&#8217;s presentation at WordCamp Europe 2025: <a href="https://europe.wordcamp.org/2025/session/3-wordpress-agency-fckups-and-what-i-learned-from-them/">3 WordPress Agency F*ckups and What I Learned from Them</a></p>



<p><a href="https://wordpress.tv/2025/06/07/3-wordpress-agency-fcku">The presentation on WordPress.tv</a></p>



<p><a href="https://www.penguinrandomhouse.com/books/315135/growth-hacker-marketing-by-ryan-holiday/">Growth Hacker Marketing book by Ryan Holiday</a></p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 02 Jul 2025 14:00:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:14:"Nathan Wrigley";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:20;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:101:"HeroPress: From Gaza to WCEU 2025 Basel – My Journey as a WordPress Developer from War to Community";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:56:"https://heropress.com/?post_type=heropress-essays&p=7997";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:130:"https://heropress.com/essays/from-gaza-to-wceu-2025-basel/#utm_source=rss&utm_medium=rss&utm_campaign=from-gaza-to-wceu-2025-basel";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:13402:"<img alt="Pull Quote: I’ve seen what war can destroy. Now I want to see what code and community can build." class="attachment-large size-large wp-post-image" height="512" src="https://heropress.com/wp-content/uploads/2026/07/070125-min.jpg" width="1024" /><h2 class="wp-block-heading" id="h-from-a-refugee-camp-to-a-worldwide-community"><strong><img alt="🇵🇸" class="wp-smiley" src="https://s.w.org/images/core/emoji/15.1.0/72x72/1f1f5-1f1f8.png" style="height: 1em;" /> From a Refugee Camp to a Worldwide Community</strong></h2>



<p>I was born and raised in <strong>Al-Shati refugee camp</strong> in Gaza — one of the most crowded places on earth. A place where electricity cuts were normal, water came in buckets, and even simple internet access was a daily battle. But it&#8217;s also the place where I became a WordPress and WooCommerce developer. I didn&#8217;t go to fancy schools or work in glass buildings — I learned by doing, failing, repeating, and staying curious.</p>



<p><strong>Gaza wasn&#8217;t easy. But it gave me focus, grit, and a reason to push forward.</strong></p>



<h2 class="wp-block-heading" id="h-living-through-war"><strong><img alt="💣" class="wp-smiley" src="https://s.w.org/images/core/emoji/15.1.0/72x72/1f4a3.png" style="height: 1em;" /> Living Through War</strong></h2>



<p>When the war started in 2023, the scale wasn&#8217;t the same as the previous wars imposed on a besieged population of Gaza. It turned into a brutal genocide, targeting civilians, homes, and entire neighborhoods. For six months, I was trapped inside Gaza. Every day, I woke up not knowing if I or my loved ones would survive the next airstrike.</p>



<p>Getting food became a full-time job. I stood in line for hours to buy just a bag of flour. Sometimes there was no bread. Drinking water was scarce and often unsafe. Showering became a luxury, sometimes I could only use one small bottle of water to clean myself.</p>



<h2 class="wp-block-heading" id="h-forced-to-flee-under-the-gun"><strong><img alt="🏃" class="wp-smiley" src="https://s.w.org/images/core/emoji/15.1.0/72x72/1f3c3.png" style="height: 1em;" /> Forced to Flee — Under the Gun</strong></h2>



<p>I got married just one month before the war started. My wife and I were full of hope, planning a simple future together in Gaza, despite all the challenges.</p>



<p><strong>But soon after, everything collapsed.</strong></p>



<p>We were forced to evacuate from northern Gaza to the south, walking through a military checkpoint, surrounded by tanks and armed soldiers. We stood in line, a long, slow-moving line of displaced families, with our hands raised in the air, step by step, under the eyes of a tank.</p>



<p>My wife was shaking. I held her hand, trying to stay calm for both of us. But deep inside, I was just as afraid.</p>



<p>We weren&#8217;t carrying weapons. We weren&#8217;t fighters. We were just a young married couple trying to survive.<br />All I had with me was my laptop and some food packed in a <strong>WordPress tote bag I&#8217;d gotten from WCEU 2023</strong>, everything that mattered to me at that moment.</p>



<p>Not long after we reached the south, my wife&#8217;s father was killed in an airstrike. We didn&#8217;t even get to say goodbye or grieve due to the continuous bombardment.</p>



<p>And yet, despite all of this — despite everything — we&#8217;re still trying to build a better life. Because that&#8217;s the only thing we can do. Keep going. Keep trying. Keep hoping.</p>



<h3 class="wp-block-heading" id="h-leaving-gaza-with-just-my-laptop-and-a-wordpress-tote-bag"><strong><img alt="🎒" class="wp-smiley" src="https://s.w.org/images/core/emoji/15.1.0/72x72/1f392.png" style="height: 1em;" />Leaving Gaza &#8211; With Just My Laptop and a WordPress Tote Bag</strong></h3>



<p>After weeks of surviving in unbearable conditions, I had to make one of the most difficult decisions of my life: to leave Gaza on my own. I was only able to leave because of the support from the company I work with, they stepped in and helped cover the huge fees the Egyptian authorities charged to cross the border during the war. It was the hardest decision I&#8217;ve ever made, leaving behind my entire family: my wife, my parents, my brother, my sisters, and their families, all of them still trapped in a war zone.<br /><br />A month later, by some miracle, my wife, one of my sisters, and my brother managed to escape. This was only possible because of a GoFundMe campaign where many people from the Automattic and Codeable community generously contributed to help get them out. We reunited in Egypt, and for a short while, we felt like a family again — displaced, but together.</p>



<h2 class="wp-block-heading" id="h-wordcamp-europe-journey"><strong><img alt="🌍" class="wp-smiley" src="https://s.w.org/images/core/emoji/15.1.0/72x72/1f30d.png" style="height: 1em;" /> WordCamp Europe Journey</strong></h2>



<h3 class="wp-block-heading" id="h-a-failed-first-attempt"><strong><img alt="❌" class="wp-smiley" src="https://s.w.org/images/core/emoji/15.1.0/72x72/274c.png" style="height: 1em;" /> A Failed First Attempt</strong></h3>



<p>In 2024, I tried to attend WordCamp Europe in Turin, Italy. I had the passion, the knowledge, the motivation, but not the legal papers. As a Palestinian stuck in Egypt after fleeing Gaza, I had no residency, no ID, and no right to even apply for a visa.</p>



<h3 class="wp-block-heading" id="h-a-new-chapter-in-oman"><strong><img alt="🇴🇲" class="wp-smiley" src="https://s.w.org/images/core/emoji/15.1.0/72x72/1f1f4-1f1f2.png" style="height: 1em;" /> A New Chapter in Oman</strong></h3>



<p>That&#8217;s when I made a hard decision. I left Egypt and moved to Oman, hoping for more stability and legal residency. It wasn&#8217;t easy to start from scratch, but I kept working, building WooCommerce plugins, contributing to projects, and slowly getting back on my feet. Oman gave me room to breathe, time to plan, and most importantly, a legal status.</p>



<h4 class="wp-block-heading" id="h-the-second-try-and-this-time-it-worked"><strong><img alt="✈" class="wp-smiley" src="https://s.w.org/images/core/emoji/15.1.0/72x72/2708.png" style="height: 1em;" /> The Second Try &#8211; and This Time, It Worked</strong></h4>



<p>Months later, I tried again. This time, I applied for a Schengen visa from Oman. I was nervous. I&#8217;d already been rejected by borders and systems that didn&#8217;t care about where I came from or what I could do. But luck, and persistence, were on my side. I got approved.</p>



<p>Holding that visa in my hand felt unreal. It wasn&#8217;t just permission to travel — it was a small victory against everything that tried to stop me.</p>



<h2 class="wp-block-heading" id="h-wceu-2025-more-than-just-a-tech-event"><strong><img alt="🇨🇭" class="wp-smiley" src="https://s.w.org/images/core/emoji/15.1.0/72x72/1f1e8-1f1ed.png" style="height: 1em;" /> WCEU 2025 — More Than Just a Tech Event</strong></h2>



<p>I attended WordCamp Europe 2025 in Basel, Switzerland.</p>



<p>I wasn&#8217;t just there to listen to talks or meet plugin authors. I was there because I believe stories like mine matter. I come from a place that&#8217;s usually erased from conversations. But I&#8217;m also part of this global community — a developer who pushed through war, exile, and paperwork, and still showed up.</p>



<p>Being there was not just for me. It was for every Palestinian developer still stuck behind walls. It was for every freelance coder who has talent but no passport. It was for those who build in silence, under fire, and without recognition.</p>



<figure class="wp-block-image size-large"><a href="https://heropress.com/wp-content/uploads/2026/07/WCEU-WALL.png"><img alt="" class="wp-image-8012" height="729" src="https://heropress.com/wp-content/uploads/2026/07/WCEU-WALL-1024x729.png" width="1024" /></a><figcaption class="wp-element-caption">A small note on the WCEU wall, carrying a long journey behind it — from Gaza to Basel.</figcaption></figure>



<h2 class="wp-block-heading" id="h-still-separated-in-every-way"><strong><img alt="💔" class="wp-smiley" src="https://s.w.org/images/core/emoji/15.1.0/72x72/1f494.png" style="height: 1em;" /> Still Separated — In Every Way</strong></h2>



<p>Just before WCEU, I had to leave my wife and baby son in Egypt. I traveled to Europe to attend the event and explore a new future for my family. My wife and one-year-old son stayed behind in Egypt, waiting in limbo. This time, we don&#8217;t know when we&#8217;ll be reunited.</p>



<p>I looked at my baby&#8217;s photos almost every minute during the event — trying to hold on to every small detail while we&#8217;re apart. Being away from him and my wife has been incredibly painful. And at the same time, I&#8217;m also far from my mother, father, brothers, and sisters — all still in Gaza, living through unimaginable hardship.</p>



<p>That pain never fades, a constant shadow following me even as I kept going for all of them. While I walked freely through Switzerland, my parents, sisters, and closest friends remained trapped in Gaza&#8217;s nightmare, existing without homes, surviving on animal feed disguised as bread, drinking contaminated water that makes them sick, living without electricity, schools, or hospitals. They endure each day without the most basic human right: safety. The genocide continues relentlessly, now over a year and a half of systematic destruction. Every morning, with trembling hands, I check my phone not for work messages but for the simplest, most desperate confirmation—that my family is still breathing, still alive. So as I sat listening to talks about WordPress performance and block themes, my heart remained split in two, my body in Basel, but my soul still in Gaza, aching with every breath for those I left behind</p>



<h2 class="wp-block-heading" id="h-wordpress-gave-me-more-than-a-job"><strong><img alt="💻" class="wp-smiley" src="https://s.w.org/images/core/emoji/15.1.0/72x72/1f4bb.png" style="height: 1em;" /> WordPress Gave Me More Than a Job!</strong></h2>



<p>Being a WordPress developer gave me hope when I needed it most. The ability to work from anywhere meant I could survive and rebuild no matter where I ended up. WordPress wasn&#8217;t just a technology for me, it became my connection to a world of possibilities. The WordPress community helped me in ways I never expected. People reached out with support, advice, and genuine friendship. When everything felt uncertain, knowing I had skills that traveled with me and a community that welcomed me made all the difference. <strong>WordPress didn&#8217;t just give me work; it gave me a future I could believe in.</strong></p>



<h2 class="wp-block-heading" id="h-grateful-for-real-support"><strong><img alt="🙏" class="wp-smiley" src="https://s.w.org/images/core/emoji/15.1.0/72x72/1f64f.png" style="height: 1em;" /> Grateful for Real Support</strong></h2>



<p>None of this would&#8217;ve been possible without the support of the company I work with — <strong>Progressus.io</strong>. During the most difficult moments — from trying to leave Gaza, to applying for visas, to finally making it to Basel for WCEU 2025 — they stood by me. Not just as an employer, but as humans who understood the weight of what I was going through. Their support wasn&#8217;t just professional — it was personal. And I&#8217;ll always be grateful for that<strong>.</strong></p>



<h2 class="wp-block-heading" id="h-my-message-to-the-wordpress-community"><strong><img alt="💬" class="wp-smiley" src="https://s.w.org/images/core/emoji/15.1.0/72x72/1f4ac.png" style="height: 1em;" /> My Message to the WordPress Community</strong></h2>



<p>To everyone at WCEU and in the broader WordPress ecosystem:</p>



<ul class="wp-block-list">
<li><strong>Don&#8217;t take your freedom for granted.</strong></li>



<li><strong>Remember that talent exists everywhere — but opportunity does not.</strong></li>



<li><strong>Keep building open tools. You never know who&#8217;s learning from them in the shadows.</strong></li>
</ul>



<p>And to every developer in <span class="ngl-tag">Gaza</span> , or in any part of the world facing war, exile, or isolation:</p>



<p><strong>Keep going. Keep coding. You&#8217;re not invisible.</strong></p>



<h2 class="wp-block-heading" id="h-what-s-next"><strong><img alt="🔜" class="wp-smiley" src="https://s.w.org/images/core/emoji/15.1.0/72x72/1f51c.png" style="height: 1em;" /> What&#8217;s Next?</strong></h2>



<p>After everything, I’ve now moved to Spain, starting yet another chapter, far from where I began. It’s not easy building a new life from scratch again, but it’s a step toward stability, safety, and possibility.</p>



<p>I don’t know exactly where this path will lead. But I do know what I’ll keep doing: working on what I love, WordPress, WooCommerce, and helping small ideas grow into real businesses.</p>



<p>I&#8217;ve seen what war can destroy. Now I want to see what code and community can build.</p>
<p>The post <a href="https://heropress.com/essays/from-gaza-to-wceu-2025-basel/">From Gaza to WCEU 2025 Basel &#8211; My Journey as a WordPress Developer from War to Community</a> appeared first on <a href="https://heropress.com">HeroPress</a>.</p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 02 Jul 2025 05:00:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:18:"Abdalsalaam Halawa";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:21;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:48:"Open Channels FM: What Counts as WordPress News?";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"https://openchannels.fm/?p=99063";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:54:"https://openchannels.fm/what-counts-as-wordpress-news/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:354:"In the world of WordPress, it’s tempting to think that every company update deserves media attention. You’ve landed a new client, launched a product update, or celebrated an anniversary. Shouldn’t everyone care? Turns out, not always. On a recent episode of the series Media Playbook, Rae Morey and Adam Weeks dug into the nitty-gritty of [&#8230;]";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 01 Jul 2025 13:01:38 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:22;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:97:"Open Channels FM: WordPress Community Growth Through Alternative Gatherings and New Event Formats";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"https://openchannels.fm/?p=99281";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:104:"https://openchannels.fm/wordpress-community-growth-through-alternative-gatherings-and-new-event-formats/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:215:"This episode of Open Event Talk discusses the significance of non-official WordPress events, emphasizing grassroots initiatives like Alt Ctrl Org that foster inclusive conversations and broaden community engagement.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 01 Jul 2025 11:21:43 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:23;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:23:"Matt: Back on The Verge";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:23:"https://ma.tt/?p=144271";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:35:"https://ma.tt/2025/06/on-the-verge/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:2120:"<p>In honor of Automattic&#8217;s 20th anniversary, and also since it&#8217;s <a href="https://ma.tt/2022/03/decoder-interview/">been a few years</a>, <a href="https://www.theverge.com/decoder-podcast-with-nilay-patel/693052/automattic-ceo-matt-mullenweg-wordpress-drama-wp-engine-open-source">I joined Nilay Patel the editor-in-chief of The Verge on their Decoder Podcast</a>. We talked about Tumblr and the Fediverse, how <a href="https://automattic.com">Automattic</a> thinks about Ecosystem and Cosmos sides of the business, Automattic&#8217;s re-organization into cross-business functional teams and leadership, the vision of <a href="https://clay.earth">Clay as a personal CRM</a> and <a href="https://www.beeper.com">Beeper as the super-human messaging app that puts control in the hands of users</a>, <a href="https://newspack.com">Newspack</a>, the future of websites, the obligatory coverage of <a href="https://ma.tt/2024/09/wordpress-engine/">the alleged WP Engine trademark violations</a> and their subsequent preemptive suit, and much more. <a href="https://www.theverge.com/decoder-podcast-with-nilay-patel/693052/automattic-ceo-matt-mullenweg-wordpress-drama-wp-engine-open-source">Please give it a listen! They chose the title “Why Automattic CEO Matt Mullenweg went to war over WordPress.”</a></p>



<figure class="wp-block-embed is-type-rich is-provider-pocket-casts wp-block-embed-pocket-casts"><div class="wp-block-embed__wrapper">

</div></figure>



<p>Speaking of Beeper, we’re going to do a fun event for the next-gen version that’s launching on July 16 in New York City in NoHo. I’ll be there along with Beeper CEO <a href="https://kishan.org">Kishan Bagaria</a> and some of the best and brightest in New York’s tech and creative class. If you’re a Beeper early adopter (or would like to be) and want to attend, leave a comment! We’ve held back some invites for cool folks like readers of ma.tt. <img alt="🙂" class="wp-smiley" src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" style="height: 1em;" /> It&#8217;s like getting on board with WordPress in 2004.</p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 30 Jun 2025 20:34:50 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"Matt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:24;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:125:"Open Channels FM: OpenChannels.fm is Proud to Be a Media Partner of The State of the Future AI-Powered Cloud Philippines 2025";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"https://openchannels.fm/?p=99261";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:132:"https://openchannels.fm/openchannels-fm-is-proud-to-be-a-media-partner-of-the-state-of-the-future-ai-powered-cloud-philippines-2025/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:318:"When we were first invited to be a media partner for this event, we were still known as Do the Woo. A lot has changed since then, including our name But what hasn’t changed is our excitement to support conversations that drive real impact in the open tech ecosystem. The Future Is Now—And the Philippines [&#8230;]";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 30 Jun 2025 08:40:43 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:25;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:71:"Felix Arntz: 10 Lessons from 10 Years of Contributing to WordPress Core";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:30:"https://felix-arntz.me/?p=2156";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:87:"https://felix-arntz.me/blog/10-lessons-from-10-years-of-contributing-to-wordpress-core/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:20174:"<p>Today marks a special anniversary for me: It has been exactly 10 years since I received my first props for a contribution to WordPress Core. And it was just a day before that I actually <em>worked</em> on that first contribution.</p>



<p>You may know that I am a long-term WordPress Core contributor, having contributed ever since. To celebrate this 10-year milestone, I wanted to reflect on this journey and share the 10 most valuable lessons I learned along the way. But first, let me provide a bit of background about just how I started.</p>



<span id="more-2156"></span>



<h2 class="wp-block-heading">How I Started Contributing to WordPress Core</h2>



<p>It all started at the <a href="https://europe.wordcamp.org/2015/">WordCamp Europe 2015 Contributor Day</a>, an event I still remember fondly as my favorite Contributor Day experience. The atmosphere was incredibly welcoming and productive, largely thanks to the fantastic guidance of <a href="https://konstantin.obenland.it/">Konstantin Obenland</a>, who was the Release Lead for the upcoming WordPress 4.3 release.</p>



<p>While leading the Core table, he encouraged us to test the new Site Icon feature, which was nearly ready to be committed. I dove in with a few other contributors and started testing various scenarios. I managed to uncover a minor bug that only appeared when JavaScript was disabled in the browser. I worked on a patch to fix it, and a few days later, on June 29, 2015, the feature was <a href="https://core.trac.wordpress.org/changeset/32994">committed to Core with my first props included</a>.</p>



<p>That first small contribution was the starting point of my long and rewarding journey. After a few more months of occasional contributions, I began contributing heavily in early 2016, focusing on the Multisite component. Over time, my responsibilities increased, eventually running team meetings and becoming a component maintainer. In November 2016, just 17 months after I had started, I was honored to be named a WordPress Core committer. And little did I know, this would be just the first chapter of my ongoing journey as a WordPress Core contributor.</p>



<p>Becoming a long-term WordPress Core contributor is not an easy task. But in some ways, it’s not as hard as it seems. You may think you need to be an incredible coder, and you may feel imposter syndrome. But that’s just a small part. The most important skills are interpersonal skills such as communication, flexibility, perseverance. To celebrate 10 years of contributing, I’m going to share with you 10 things that helped me in my journey the most.</p>



<h2 class="wp-block-heading" id="communicate-well">1. Communicate, and Communicate Well</h2>



<p>As a good engineer, it is equally important to <strong>discuss and reason about code</strong> as it is to actually write the code. Proactively documenting what you’re doing goes a long way. Some examples:</p>



<ul class="wp-block-list">
<li>If you raise an issue, provide details and include context, including why you think it is a valid issue.</li>



<li>If you open a pull request, use its description to explain at a high level the relevant technical choices you made in the code you wrote – unless it’s a typo fix of course.</li>



<li>Unless the code is trivial or you <em>really</em> want to write it just to test whether it works, discuss what you’re proposing first, e.g. in a ticket. Spending hours on writing code that may not get merged can be frustrating. Gathering feedback on your idea from other contributors first will go a long way in avoiding that experience.</li>
</ul>



<p>Other than being able to discuss code, it’s equally important to <strong>ask questions</strong>. If you don’t understand the rationale behind a decision, kindly follow up on it. If you’re attending a Slack chat where someone shares something you are missing context on, inquire about it. Every question you ask and every answer you get will grow your understanding of the WordPress project – whether its overarching philosophies, strategic decisions, or deeply technical decisions.</p>



<h2 class="wp-block-heading" id="assume-good-intent">2. Assume Good Intent</h2>



<p>Another important aspect of communication that is worth highlighting separately is to <strong>be respectful</strong>. Be respectful of your fellow contributors, even if you feel they weren’t. If someone disagrees with you or even if a ticket you proposed is closed without an explanation (which should not happen, but it can), don’t get angry. Don’t get defensive. Don’t get arrogant. Remain kind, and follow up. The other person probably didn’t mean any harm.</p>



<p>Assuming good intent means to keep calm even when your initial reaction tells you not to. Sometimes, a reply that comes across as harsh may be the result of the other contributor lacking the time to reply, which is not necessarily an excuse. Other times, it may be the result of the other contributor being from another culture where communication norms are different to yours. In either scenario, the reply that came across as harsh most likely wasn’t meant to be harsh. If you feel yourself getting defensive or angry, maybe step away and come back later.</p>



<p>Another way to say this is <strong>don’t take things personally</strong>. Your proposals and code may be rejected, sometimes wrongfully. Either way, this is entirely specific to the problem that you’re trying to solve. It has nothing to do with you as a person or your quality as a developer.</p>



<h2 class="wp-block-heading" id="be-persistent-as-appropriate">3. Be Persistent, As Long As Appropriate</h2>



<p>As I previously mentioned, sometimes another contributor may have feedback or propose something you disagree with. And sometimes, even though that’s not ideal, they don’t provide adequate context – we all make mistakes. If you have taken the time to introspect and ensure your disagreement is valid, <strong>make sure to follow up</strong>. Ask the other contributor to share more context, or lay out clearly why you disagree.</p>



<p>For example, it’s okay to reopen a ticket that you created when it’s closed but not resolved. Just keep in mind the previous points on communication and self-awareness.</p>



<p>Sometimes you may be overruled, or a discussion continues back and forth a few too many times with seemingly no noticeable progress. Sometimes us humans, we simply disagree, and that’s okay. Take a moment to think how strongly you think your point is correct. Sometimes, it’s right to keep pushing. Other times, it’s right to give in. <strong>Don’t keep pushing excessively</strong>. It’s important to know when to accept another person’s decision and move on, even when you disagree. Especially in situations where several other Core contributors disagree with your point, think twice. There may be something they understand that you don’t, or you may be proposing something that is not aligned with the <a href="https://wordpress.org/about/philosophy/">WordPress philosophy</a>. Simply remember, you can ask.</p>



<h2 class="wp-block-heading" id="pay-attention-to-detail">4. Pay Attention to Detail</h2>



<p>The previous points primarily focused on communication and introspection. But now let’s talk a bit about code. I’m not going to talk about algorithms or code patterns though. Something that you can try to do, regardless of how experienced you are as a developer, is to pay attention to detail and go the extra mile. Your mindset should be to <strong>get it done </strong><strong><em>right</em></strong><strong>, not quickly</strong>.</p>



<p>Sloppy code doesn’t get committed to WordPress Core. Some of the important things to look out for is code style, comprehensive inline code documentation and doc blocks, as well as test coverage. Proactively making sure your code is safe, documented, and tested shows that you care and is a great signal of a promising new contributor.</p>



<p>Similar care is equally important when reviewing other people’s code. Point out when any of the above are lacking or inadequate. Think about edge cases the code may not be catering for yet. Ask questions if you’re unsure. Take the time to <strong>be a thorough reviewer</strong>.</p>



<h2 class="wp-block-heading" id="think-at-scale">5. Think at Scale</h2>



<p>WordPress is not just used by millions of websites, it’s used by over a third of the web. I’m sure you already know that, but it’s crucial to remember that anytime you are thinking about technical solutions. Whenever you want to make a change in WordPress, <strong>consider the entire spectrum of WordPress sites</strong>. I already mentioned to think about edge cases, but here are some more examples for what to keep in mind:</p>



<ul class="wp-block-list">
<li>WordPress can run anywhere – $1000 premium hosting or a Raspberry Pi. Be especially mindful of the lower end here.</li>



<li>WordPress can be used at any scale – a small business portfolio site with five pages, or a membership site with millions of user-generated posts from thousands of users. Be especially mindful of the higher end here.</li>



<li>Many WordPress sites do not use an object cache, many are on older technologies, such as outdated versions of PHP or MySQL.</li>
</ul>



<p>Another important aspect of thinking at scale is the impact that WordPress has on the rest of the web. WordPress can influence the web to change. A new feature or API in WordPress could lead to other platforms or even browsers considering it. <strong>Use WordPress’s scale responsibly</strong> – it can be a lever for the web as a whole, but make sure you’re only proposing a new feature to be merged into WordPress Core once it is ready for its scale.</p>



<h2 class="wp-block-heading" id="increase-scope-gradually">6. Increase Scope Gradually</h2>



<p>When you first start contributing to WordPress Core, it&#8217;s natural to have big ideas and see opportunities for major improvements, even complete rewrites of certain APIs. However, if you&#8217;re new to the project, <strong>pushing for a massive change or a brand-new feature right away is often going to result in resistance and likely won&#8217;t succeed</strong>. Believe me, I&#8217;ve been there. This can feel frustrating, but it&#8217;s a natural part of how open-source communities function.</p>



<p>Established contributors need to &#8220;get to know you&#8221; first. They need to assess your expertise, your motivations, your communication style, and your willingness and availability to see complex ideas through to completion. This is simply a human element of collaboration. Your idea might be entirely valid, and you might be the perfect person to execute it. But others won&#8217;t know that until they&#8217;ve had the chance to work with you and observe your contributions over time.</p>



<p>This doesn&#8217;t mean your valuable ideas will be rejected outright, but you might encounter hesitation or caution. A better approach is to increase your scope gradually. <strong>Start with smaller, more contained contributions: Fix bugs, improve documentation, or address minor enhancements.</strong> This helps you build trust and credibility within the community. Furthermore, by contributing to less complex endeavors first, you&#8217;ll gain additional expertise and a deeper understanding of the intricacies of WordPress Core development. This experience will likely enable you to approach those more complex ideas later with even greater insight and a stronger ability to execute them successfully than you would have had when you were completely new.</p>



<h2 class="wp-block-heading" id="find-your-niche">7. Find Your Niche</h2>



<p>While it&#8217;s a great starting point to contribute to any random issues you find or care about in the beginning, it&#8217;s incredibly valuable to eventually find your niche within WordPress Core. After some initial contributions, ideally you&#8217;ll discover an area that genuinely interests you and where you feel you can make a sustained impact. To give some personal context, for me that initial niche was Multisite, as mentioned earlier. I focused on it largely because I was working with a client with a large Multisite installation at the time and wanted to improve some quirks I was encountering in the foundation. For you, it might be any of the other dozens of WordPress Core components.</p>



<p>Perhaps it&#8217;s a component you frequently interact with in your own WordPress development work or hobby projects where you&#8217;ve identified opportunities for improvement. <strong>The more practical experience you have with a specific part of WordPress, the more likely you are to contribute valuable enhancements and fixes to it.</strong></p>



<p>Finding your niche is also important because you simply cannot be an expert in everything. WordPress Core is vast, but there are many specialized areas where dedicated experts are needed, especially where original maintainers have moved on or reduced their contributions. However, at the end of the day, don&#8217;t solely define your niche based on perceived project needs. <strong>Define your niche based on what </strong><strong><em>you</em></strong><strong> truly care about and are passionate about.</strong> This will make your contributions more enjoyable and sustainable in the long run.</p>



<h2 class="wp-block-heading" id="be-helpful">8. Be Helpful</h2>



<p>Contributing to WordPress Core isn&#8217;t just about pushing your own agenda or implementing the features you want to see. A crucial part of being a valuable contributor is actively being helpful to others. <strong>Being proactive and offering assistance demonstrates that you are a team player and a great collaborator</strong>, deeply invested in the project&#8217;s success. It also shows that you&#8217;re willing to take on work that might not be the most exciting for you personally, but is essential for the community as a whole.</p>



<p>Here are some examples of such activities:</p>



<ul class="wp-block-list">
<li>Make an effort to review other contributors’ tickets, discussing ideas and technical approaches beyond your own.</li>



<li>Provide constructive feedback on pull requests, even if they&#8217;re not in your immediate area of expertise.</li>



<li>Offer to run a bug scrub for a specific component, helping to triage and categorize issues.</li>



<li>Volunteer to write summary posts for recurring team meetings, keeping everyone informed.</li>
</ul>



<p>These are just some ideas that will signal to other contributors that you are passionate, eager to work collaboratively, and not just in it for whatever <em>you</em> want to see added to WordPress Core. <strong>Being a helpful and supportive member of the community fosters a positive environment for everyone.</strong></p>



<h2 class="wp-block-heading" id="adapt-well">9. Adapt Well</h2>



<p>A common descriptor for the ideal mindset of a WordPress Core contributor is <strong>&#8220;Strong opinions, loosely held.&#8221;</strong> This highlights the importance of having conviction in your ideas while remaining open to changing them based on new information or different perspectives. Especially when you&#8217;re a new contributor, it&#8217;s easy to fall into the trap of thinking, &#8220;This is so straightforward, why wasn&#8217;t it added to Core years ago?&#8221; Usually, if it hasn&#8217;t been, it&#8217;s simply not as straightforward as it appears. This often relates back to the earlier points about understanding the WordPress philosophy, paying attention to detail, and thinking at scale.</p>



<p>But even as you become a more established contributor, it will always remain crucial to adapt well. <strong>Approach different opinions with curiosity rather than adversity.</strong> Sometimes, additional learnings on your own end may genuinely change how you think about a technical approach. There will be times when you disagree with a decision that a majority of other contributors support. In these situations, it&#8217;s crucial to find the right balance: know when to keep pushing back if you genuinely believe in your stance, and when to acknowledge that this is not <em>your</em> decision alone, but a collective one that you should accept and move forward with for the good of the project. This goes back to the earlier point about being persistent as long as it’s appropriate. The flexibility and willingness to adapt are hallmarks of an effective and respected Core contributor.</p>



<p>A great post that goes into more depth on this point, even though being old, is <a href="https://nacin.com/2014/02/07/how-wordpress-chooses-committers/">Andrew Nacin’s “The qualities of a great WordPress contributor”</a>.</p>



<h2 class="wp-block-heading" id="build-personal-relationships">10. Build Personal Relationships</h2>



<p>While online collaboration is the backbone of WordPress Core development, building personal relationships with other contributors is incredibly valuable. This isn&#8217;t just for your personal growth as a contributor; it also significantly enhances the enjoyment and effectiveness of your contributions. The connections you make can enrich your journey in unexpected ways, and you may make new real-life friends.</p>



<p>Meeting other contributors at a WordCamp or similar event is an incredible experience. Go for a run together, have a beer, do a hacking session together – whatever is fun for your group. Whether it&#8217;s finally connecting in person with someone you&#8217;ve collaborated with online for months, or meeting a mentor you&#8217;ve looked up to since you started contributing, <strong>these face-to-face interactions foster a deeper sense of community</strong>. Hanging out, sharing meals, and catching up in person inevitably changes how people see you. Having met someone in person simply tends to change the dynamic, even in subsequent online interactions.</p>



<p>It may not always be feasible for every contributor to attend a WordCamp or other event to meet fellow contributors in person, and that is certainly unfortunate. However, <strong>the unique understanding forged through in-person interactions is something a purely online community simply cannot fully replicate</strong>. If you have the opportunity to participate in such an event, I strongly encourage you to take it. The bonds you form will make your contribution journey even more rewarding.</p>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<h2 class="wp-block-heading">Looking Back and Moving Forward</h2>



<p>This decade of contributing to WordPress has been a remarkable journey of both personal and professional growth. I can say with certainty that I am where I am today, in so many ways, thanks to contributing to WordPress Core. The lessons I&#8217;ve shared here are reflections of countless hours spent collaborating with other community contributors, solving complex problems, building powerful features, and helping to build the open web. Contributing to WordPress Core has taught me more than I could have ever imagined when I first uploaded that small patch back in 2015.</p>



<p>I hope that these reflections are helpful, whether you are a seasoned committer or someone who is just considering making their first contribution. A large open-source project, especially at the scale of WordPress, is an excellent way to work on something bigger than (very likely) anything one of us could come up with by ourselves. I remain as excited and motivated as ever to continue playing my part in its future.</p>



<p>What about you? If you’re a contributor, what are the biggest lessons you have learned on your journey? I’d love to read about your experiences in the comments below.</p>
<p>The post <a href="https://felix-arntz.me/blog/10-lessons-from-10-years-of-contributing-to-wordpress-core/">10 Lessons from 10 Years of Contributing to WordPress Core</a> appeared first on <a href="https://felix-arntz.me">felix-arntz.me</a>.</p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sun, 29 Jun 2025 14:21:03 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"Felix";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:26;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:66:"WordPress.org blog: WordCamp US 2025: See You in Portland, Oregon!";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:35:"https://wordpress.org/news/?p=18884";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:79:"https://wordpress.org/news/2025/06/wordcamp-us-2025-see-you-in-portland-oregon/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:6934:"<figure class="wp-block-image size-large"><img alt="" class="wp-image-18885" height="576" src="https://i0.wp.com/wordpress.org/news/files/2025/06/wordcamp-us-2025-portland.png?resize=1024%2C576&#038;ssl=1" width="1024" /></figure>



<p>WordCamp US 2025 is heading to vibrant Portland, Oregon, from August 26–29, 2025! Join fellow open source enthusiasts, developers, designers, and WordPress professionals from across the United States and around the world for four days of learning, networking, and collaboration at the Oregon Convention Center.</p>



<p>Nestled in the Pacific Northwest, Portland is famous for its creative spirit, lush green spaces, and riverside trails, making it an inspiring backdrop for this year’s WordCamp. Whether building your first site or leading a digital agency, WordCamp US offers something for everyone, all set against the city’s stunning natural scenery.</p>



<div class="wp-block-group has-off-white-background-color has-background is-layout-constrained wp-container-core-group-is-layout-8503c47b wp-block-group-is-layout-constrained">
<div class="wp-block-spacer" style="height: 50px;"></div>



<p class="has-text-align-center has-large-font-size"><img alt="🎟" class="wp-smiley" src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f39f.png" style="height: 1em;" /> <strong>Tickets are limited—secure yours today!</strong></p>



<div class="wp-block-spacer" style="height: 25px;"></div>



<div class="wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-a89b3969 wp-block-buttons-is-layout-flex">
<div class="wp-block-button"><a class="wp-block-button__link has-text-align-center wp-element-button" href="https://us.wordcamp.org/2025/tickets/">Get your ticket now</a></div>
</div>



<div class="wp-block-spacer" style="height: 50px;"></div>
</div>



<h2 class="wp-block-heading">What to Expect</h2>



<h3 class="wp-block-heading">Contributor Day: August 26</h3>



<p>Kick off your WordCamp US experience by giving back. Contributor Day welcomes all skill levels to collaborate on teams that help make WordPress better, from code to community to documentation. You can make a difference to the project, and build new friendships or rekindle old ones, perhaps even while enjoying views of Portland’s skyline and tree-lined streets.</p>



<h3 class="wp-block-heading">Main Conference: August 27–29</h3>



<h4 class="wp-block-heading">Showcase Day &#8211; August 27</h4>



<p>As part of the main conference, day one will give us a look at project showcases, discover innovative uses of WordPress, see how people push the platform’s boundaries, and get inspired to try something new.</p>



<h4 class="wp-block-heading">Session Days + Expo Hall &#8211; August 28-29</h4>



<p>Experience another two days filled with inspiring keynotes, practical sessions, and deep dives into the latest trends in web development, design, content, accessibility, and more. Hear from some of the brightest minds in the WordPress ecosystem and explore topics that get to the heart of what makes WordPress unique. Also, take some time to explore the main floors of WCUS, like the Sponsors Hall.</p>



<h3 class="wp-block-heading">Networking and Community</h3>



<p>Meet WordPress friends new and old, exchange ideas with community leaders, and collaborate with people who share your passion for open source. Enjoy daily lunches and a memorable social event, all included with your ticket. Stroll along the Willamette River or explore nearby parks in between sessions.</p>



<h3 class="wp-block-heading">Venue &amp; Accommodations</h3>



<p>This year, we’re gathering at the Oregon Convention Center in the heart of Portland—a city known for its vibrant neighborhoods and abundant green spaces. We’ve secured a special hotel block right across the street at the Hyatt Regency Portland for convenient, comfortable lodging during your stay.</p>



<ul class="wp-block-list">
<li><strong><img alt="🏢" class="wp-smiley" src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f3e2.png" style="height: 1em;" /></strong> <strong>Oregon Convention Center<br /></strong>777 NE Martin Luther King Jr Blvd<br />Portland, OR 97232<br /></li>



<li><img alt="🛏" class="wp-smiley" src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f6cf.png" style="height: 1em;" /> <strong>Hyatt Regency Portland</strong><br />375 NE Holladay Street<br />Portland, OR 97232<br /><a href="https://www.hyatt.com/en-US/group-booking/PDXRP/G-CAMP">Book your room!</a></li>
</ul>



<h2 class="wp-block-heading">Registration and Tickets</h2>



<p>Registration officially kicked off last month. Secure your spot early; tickets are selling quickly.</p>



<div class="wp-block-group has-off-white-background-color has-background is-layout-constrained wp-container-core-group-is-layout-8503c47b wp-block-group-is-layout-constrained">
<div class="wp-block-spacer" style="height: 50px;"></div>



<p class="has-text-align-center has-large-font-size"><img alt="🎟" class="wp-smiley" src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f39f.png" style="height: 1em;" /> <strong>Tickets are limited—secure yours today!</strong></p>



<div class="wp-block-spacer" style="height: 25px;"></div>



<div class="wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-a89b3969 wp-block-buttons-is-layout-flex">
<div class="wp-block-button"><a class="wp-block-button__link has-text-align-center wp-element-button" href="https://us.wordcamp.org/2025/tickets/">Get your ticket now</a></div>
</div>



<div class="wp-block-spacer" style="height: 50px;"></div>
</div>



<h2 class="wp-block-heading">Ready to Plan Your WordCamp US Experience?</h2>



<p>Keep checking the <a href="https://us.wordcamp.org/2025/">WordCamp US site</a> for travel tips, to book accommodations, and to watch for the whole event schedule—coming soon! While here, why not plan to take in some of Portland’s scenic hiking trails, bike-friendly streets, or local food scene?</p>



<p>Stay tuned for updates and announcements on <a href="https://make.wordpress.org/marketing/handbook/social-media/">WordPress social media channels</a>, and join the conversation.</p>



<h3 class="wp-block-heading">Help Us Spread the Word!</h3>



<p>Whether attending in person or following along online, share your experience and help welcome others to the WordPress community. Use the #WCUS and #WordPress hashtags and tell your story on social!</p>



<figure class="wp-block-image size-large"><img alt="" class="wp-image-18898" height="683" src="https://i0.wp.com/wordpress.org/news/files/2025/06/wordcamp-us.jpg?resize=1024%2C683&#038;ssl=1" width="1024" /></figure>



<p>Portland is calling—see you at WordCamp US 2025! <img alt="🌲" class="wp-smiley" src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f332.png" style="height: 1em;" /></p>



<p></p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 27 Jun 2025 18:14:33 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:14:"Brett McSherry";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:27;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:26:"Matt: Alpha School Insider";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:23:"https://ma.tt/?p=143721";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:35:"https://ma.tt/2025/06/alpha-school/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:4233:"<p>Scott Alexander, of Slate Star Codex / Astral Codex Ten fame, ran <a href="https://www.astralcodexten.com/p/everything-except-book-review-contest">an Everything-Except-Book Review Contest 2025 in February</a>. The prompt: &#8220;Submit an ACX-length post reviewing something, anything, <em>except</em> a book.&#8221; The submissions were collected anonymously in a giant 450-page Google Doc. I don&#8217;t think the winners have been chosen yet, but there is one essay that has been making the rounds and getting shared more, and that&#8217;s <a href="https://docs.google.com/document/d/1d0vRSj1E93joWWvbUen2XGuDjN_mM94ybMIAADzM2fo/edit?tab=t.0#heading=h.1n2243y7h4yv">Alpha School and &#8220;2-hour Learning&#8221; powered by AI,</a> a parent&#8217;s perspective on <a href="https://alpha.school/">Alpha School</a>, a set of &#8220;AI-powered&#8221; schools in Texas and Florida.</p>



<p>It&#8217;s worth reading the entire essay, but I wanted to excerpt a few points I found interesting:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>After twelve months I’m persuaded that Alpha is doing something remarkable—but that almost everyone, including Alpha’s own copywriting team, is describing it wrong:</p>



<ul class="wp-block-list">
<li><strong>It isn’t</strong> <strong>genuine two‑hour learning</strong>: most kids start school at 8:30am, start working on the “two-hour platform” sometime between 9am-930am and are occupied with academics until noon-1230pm. They also blend in “surges” from time to time to squeeze in more hours on the platform.<br /></li>



<li><strong>It isn’t</strong> <strong>AI</strong> in the way we have been thinking about it since the “<a href="https://arxiv.org/abs/1706.03762">Attention is all you need</a>” paper. There is no “generative AI” powered by OpenAI, Gemini or Claude in the platform the kids use – it is closer to “turbocharged spreadsheet checklist with a spaced‑repetition algorithm”<br /></li>



<li><strong>It definitely isn’t</strong> <strong>teacher‑free</strong>: Teachers have been rebranded “guides”, and while their workload is different than a traditional school, they are very important – and both the quantity and quality are much higher than traditional schools.<br /></li>



<li><strong>The bundle matters</strong>: it’s not just the learning platform on its own. A big part of the product’s success is how the school has set up student incentives and the culture they have built to make everything work together</li>
</ul>



<p>…Yet the core claim survives: Since they started in October my children have been marching through and mastering material roughly <em>three times</em> faster than their age‑matched peers (and their own speed prior to the program).</p>
</blockquote>



<p>One of the surprises doesn&#8217;t come until Part 4 of the essay:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Incentives</strong></p>



<p>People REALLY don’t like the idea of incentivizing kids to learn.</p>



<p>Roland Fryer, who has done extensive work on what works in incentivizing students, <a href="https://scholar.harvard.edu/files/fryer/files/092011_incentives_fryer_allen_paper2.pdf">quotes a 2010 Gallup poll</a> that found that only 23% of American parents support the “idea of school districts paying small amount of money to students to, for example, read books, attend school or to get good grades” (76% opposed the idea with only 1% undecided).<br /><br />There are not many things that 76% of Americans agree on. Only <a href="https://www.cbsnews.com/pictures/surprising-things-americans-actually-agree-on/18/">69% of Americans believe another Civil War</a> would be a bad thing. Only <a href="https://docs.cdn.yougov.com/crjq3mojm5/toplines_Views%20on%20Britain%20and%20the%20Monarchy.pdf">78% agree that American independence from Britain</a> was the right choice. People REALLY don’t like paying kids to read books.</p>
</blockquote>



<p>I hope that gives you enough of a hook to read the entire essay, it was quite good and provocative to many assumptions I&#8217;ve had about education.</p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 26 Jun 2025 15:01:50 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"Matt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:28;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:85:"Open Channels FM: The Evolving Landscape of Core Contribution and Company Sponsorship";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"https://openchannels.fm/?p=99183";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:92:"https://openchannels.fm/the-evolving-landscape-of-core-contribution-and-company-sponsorship/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:211:"In Open Talk on Open Source, Adam Weeks, Tammy Lister, Zach Stepek, and Tim Monner discuss the importance of contributing to WordPress, exploring various forms of contributions and the idea of sponsored support.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 26 Jun 2025 09:00:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:29;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:117:"WPTavern: #174 – Joe Dolson and Jonathan Desrosiers on WordPress Accessibility: Core Commitment or Canonical Plugin";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:48:"https://wptavern.com/?post_type=podcast&p=196977";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:130:"https://wptavern.com/podcast/174-joe-dolson-and-jonathan-desrosiers-on-wordpress-accessibility-core-commitment-or-canonical-plugin";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:54978:"<details>Transcript<div>
<p>[00:00:19] <strong>Nathan Wrigley:</strong> Welcome to the Jukebox podcast from WP Tavern. My name is Nathan Wrigley.</p>



<p>Jukebox is a podcast which is dedicated to all things WordPress. The people, the events, the plugins, the blocks, the themes, and in this case a debate about whether or not there&#8217;s a place for accessibility in a canonical plugin.</p>



<p>If you&#8217;d like to subscribe to the podcast, you can do that by searching for WP Tavern in your podcast player of choice, or by going to wptavern.com/feed/podcast, and you can copy that URL into most podcast players.</p>



<p>If you have a topic that you&#8217;d like us to feature on the podcast, I&#8217;m keen to hear from you and hopefully get you, or your idea, featured on the show. Head to wptavern.com/contact/jukebox, and use the form there.</p>



<p>So on the podcast today, we have Joe Dolson and Jonathan Desrosiers. As you&#8217;ll hear in their podcast introductions, both Joe and Jonathan are veterans of WordPress, committing to Core in different ways. They&#8217;re deeply committed towards making the platform more useful for all users.</p>



<p>This episode is all about exploration rather than answers. Joe and Jonathan discuss the world of canonical plugins, a special category of plugins maintained by the Core team. They&#8217;re designed to be as reliable and secure as features found in WordPress Core itself.</p>



<p>The discussion unpacks exactly what defines a canonical plugin, how these plugins have evolved out of the traditional feature plugin model, and what it means for users and contributors alike.</p>



<p>At the center of this episode is accessibility, should accessibility enhancements remain a primary concern within WordPress Core, or is it time to start developing them as canonical plugins? Joe and Jonathan discussed the pros and the cons of both options, referencing technical challenges, project philosophies, and the ever-changing legislative environment, especially with tough new regulations in Europe.</p>



<p>They consider the discoverability of canonical plugins for non-technical users, potential overlaps and division of labour between plugins and Core, and the moral imperative of making websites accessible to all.</p>



<p>We also touch upon practical examples, from the WordPress video block to the Performance Lab plugin, and weigh up how cadence, stability, and focus can differ outside the Core.</p>



<p>The conversation also goes beyond theory, delving into the real life impact accessible technology has, from legal requirements, to personal stories and the broader mission of democratizing publishing.</p>



<p>Whether you&#8217;re a developer, a site owner, or someone interested in the ethical questions at the heart of open source software, this episode is for you.</p>



<p>If you&#8217;re interested in finding out more, you can find all of the links in the show notes by heading to wptavern.com/podcast, where you&#8217;ll find all the other episodes as well.</p>



<p>And so without further delay, I bring you Joe Dolson and Jonathan Desrosiers.</p>



<p>I am joined on the podcast by Joe Dolson and Jonathan Desrosiers. Hello both.</p>



<p>[00:03:35] <strong>Joe Dolson:</strong> Hello. I&#8217;m so glad to be here again.</p>



<p>[00:03:37] <strong>Jonathan Desrosiers:</strong> Likewise.</p>



<p>[00:03:38] <strong>Nathan Wrigley:</strong> We&#8217;ve had quite a preamble chat prior to recording this. This is going to be an exploration podcast. I don&#8217;t think we&#8217;re going to arrive at the destination. This is, I think about the journey.</p>



<p>But it&#8217;s going to be a conversation about something called canonical plugins. Dear listener, if you don&#8217;t know what that means, hold on. But also about accessibility. Prior to that, probably a good idea to get both of your biographies so that we know a little bit about you, and your credentials in the areas under discussion. So should we start with you, Jonathan, just a little bio. Tell us who you are.</p>



<p>[00:04:08] <strong>Jonathan Desrosiers:</strong> My name is Jonathan Desrosiers. I am a full-time sponsored Core contributor to the WordPress project from Bluehost. And I spend a lot of my time on the day to day, the work that keeps the project moving. That may be lesser seen, like our processes, our testing frameworks, helping the release squad with the resources, make sure they have the resources they need to do their jobs well, and ultimately produce good releases of WordPress every time.</p>



<p>[00:04:35] <strong>Nathan Wrigley:</strong> Nice. Thank you so much. And Joe.</p>



<p>[00:04:37] <strong>Joe Dolson:</strong> So I&#8217;m a part-time Core contributor to WordPress. I&#8217;m also a Core committer and I&#8217;m sponsored by GoDaddy and Kinsta. I mostly work on accessibility, so I help make all aspects of the project more accessible, including Core, Gutenberg, wordpress.org itself and all of those related bits and pieces.</p>



<p>[00:04:56] <strong>Nathan Wrigley:</strong> Okay, so we&#8217;ve established your credentials. The topic under discussion, I&#8217;m going to try and find the post in the Slack channel, which kind of promoted this whole thing, but it goes back a few months now. And the topic under discussion today is about whether or not it would be a good idea, I&#8217;m going to say, let&#8217;s go with that, an interesting idea, a good experiment, who knows, to put accessibility work into a plugin of a special type called a canonical plugin. So we&#8217;re used to hearing about plugins, perhaps not so much canonical plugins. So let&#8217;s make that the first port of call. What is a canonical plugin?</p>



<p>[00:05:34] <strong>Joe Dolson:</strong> I mean, I think we can kick this off with the idea that we don&#8217;t really know. But there is a long history in the project of essentially Core sponsored plugin projects that are used for specific features or provide various functionality. And then sometimes they get merged into Core and sometimes they don&#8217;t. It&#8217;s highly variable.</p>



<p>So there is a deep reality that this particular proposal, we don&#8217;t have any clear idea of what it&#8217;s actually proposing. But I think it&#8217;s good to talk about some of the historical canonical plugins that have already been used.</p>



<p>One great example I think is the WordPress Importer. It&#8217;s a plugin. It&#8217;s installed on demand into your dashboard when you decide to go to import something. And it&#8217;s an extremely standard tool. And it&#8217;s kind of the classic idea of something that isn&#8217;t needed in Core permanently, but is heavily used and really needs to be something that is maintained by the project.</p>



<p>[00:06:29] <strong>Jonathan Desrosiers:</strong> Yeah, I think it goes back, like Joe said, pretty far in that in the past we&#8217;ve had this concept called feature plugins. And so the initial idea behind those was to begin work on a feature that would span many releases and to get it into a refined state where it was ready for primetime to be included, you know, and shipped to the world.</p>



<p>So some good examples of this are the MP6 plugin which, re-skinned the dashboard in the modern way that we know today.</p>



<p>The REST API started as a feature plugin project. There&#8217;s many more to that effect. Simple XML Sitemaps, I believe started as a plugin as well.</p>



<p>I think of this in the way that canonical plugins are always feature plugins, but feature plugins are not always canonical. And so what I mean by that is a feature plugin can always become a canonical, but that may not be the case. It may end up in Core and we don&#8217;t need it long term. Or we could decide that it&#8217;s just not a good fit and it could become a canonical, and we maintain it long term as that add-on type plugin that you would use, that&#8217;s officially supported and maintained.</p>



<p>And so even before the suggestion to put accessibility into a canonical plugin, there were a few posts from Matt that suggested that we revisit this concept of feature plugin. And I think it&#8217;s just, canonical is just in some ways a new name for it in the sense that, you know, an SEO, canonical is you put the canonical tag and it points to the one true page on the internet that represents that content, right?</p>



<p>And so it&#8217;s similar to that, in that we want to have these canonical plugins that are the one true place you should be able to rely on for functionality that adheres to the project philosophies in the same way as if it were in Core itself.</p>



<p>[00:08:07] <strong>Nathan Wrigley:</strong> I suppose my supposition about canonical plugins are that they encapsulate important things that could be in Core. You know, if the universe was slightly different, they could easily be rolled into Core. But also importantly, they receive security updates and the same kind of inspection that Core might have. So it&#8217;s not like they&#8217;re just sort of left to fester.</p>



<p>On a regular basis, they would be inspected, updated in much the same way that Core would be. So it&#8217;s almost like Core, but kind of install it yourself. But the importance being that you can utterly rely on it, if you install it to be dependable, to be updated, to be secure. Have I misremembered, that or is that a part of the definition of a canonical plugin?</p>



<p>[00:08:53] <strong>Jonathan Desrosiers:</strong> No, that&#8217;s accurate. We give you that same commitment to backwards compatibility. The project philosophies, as I mentioned, the plugins that are maintained that are released as community plugins are covered by the Bounty Program and our Hacker One program as well. So there&#8217;s incentive for people to find security vulnerabilities and responsibly report them and work with the security team to fix these for the community.</p>



<p>That&#8217;s right in that you are getting kind of like that badge of honor, like we promise, guarantee type thing, that we&#8217;re going to do our best to give you the best plugin for this particular feature.</p>



<p>And the importer I think is a great example of that, right? They&#8217;re not all great, in good shape, and part of that is because some of them are importing from software that&#8217;s also, that&#8217;s really old and outdated, right? And the concepts that they have and the data structures.</p>



<p>But we have almost a dozen importer plugins that are, in a sense, canonical, and they are the go-to plugins to import your content into WordPress. I&#8217;m hopeful the Data Liberation Project will help make those more refined and make them easier to use and less prone to issues, yeah. But, yes, in theory we do give you that guarantee and that backing.</p>



<p>[00:09:58] <strong>Joe Dolson:</strong> I mean, one of the reasons I did bring up the importers is because I think they&#8217;re actually a really good example of something that isn&#8217;t getting the care that it really needs. I mean, they&#8217;re stable and they&#8217;re functional, but there are certain things that they really don&#8217;t do very well.</p>



<p>And one of them is, like if you&#8217;ve got a site with say, 10,000 users, you just can&#8217;t use the importer plugin. Because it generates these select dropdowns to assign your posts to a particular user, and the performance on those is ludicrous when you&#8217;ve got a page that has 100 dropdowns with 10,000 items in them.</p>



<p>This is the sort of thing that I think everybody would like to see worked on more in the world of canonical plugins. And that&#8217;s, I think one of the fears that maybe some people have about moving more stuff into canonical plugins, is this idea that they might not get the care that we theoretically promise.</p>



<p>Because I do think, the idea of canonical plugins, we absolutely do promise those security updates and making sure all of these things are solid, but I&#8217;m not sure we&#8217;ve always carried out on that as well as we could.</p>



<p>[00:11:03] <strong>Jonathan Desrosiers:</strong> You said something that resonated too in that. So one of the Core philosophies is the 80 20 rule. And so we want to make sure that the things we merge into Core work for the majority of our users that use our software. And so the same kind of holds true for canonical plugins in some ways. Not that we want to plug in that 80% of people will use, because then it would belong in Core, but 80% of the people that want that feature, the plugin should be relevant to them, right?</p>



<p>And so in the sense of imports being too large, the canonical plugin is a great tool and it&#8217;s the defacto recommended way, but it&#8217;s may not be the right tool for your instance. And so in that instance of a large import, WPCLI is probably more something that you would want to use in that case, because it&#8217;s not subject to timeouts and there&#8217;s just different technical boundaries that it works within.</p>



<p>So we want these canonical plugins to be the defacto, but they&#8217;re not the end all be all, and they don&#8217;t cover every situation. But we want to cover the majority of situations for as many WordPress users as we can.</p>



<p>[00:12:00] <strong>Nathan Wrigley:</strong> Okay. So I think we&#8217;ve established what a canonical plugin is, and I&#8217;m going to summarise it as follows, basically something that you can depend upon. I would summarise it just that.</p>



<p>[00:12:08] <strong>Jonathan Desrosiers:</strong> Something that tackles a specific, or group of features.</p>



<p>[00:12:10] <strong>Nathan Wrigley:</strong> Right. It&#8217;s got a specific feature. It could have gone into Core, but it was decided not to go into Core, but you can hopefully rely on it. Although, Joe made a very good point that, you know, reliance is an objective thing.</p>



<p>However, what we&#8217;re talking about today is accessibility. We&#8217;re in the year 2025. It&#8217;s June, 2025. We&#8217;re at WordCamp Europe. And it feels like the train over the last few years has really pushed accessibility to the front. I think any web designer, developer, in the year 2025 who doesn&#8217;t have accessibility right at the front of their mind is kind of missing the point.</p>



<p>The legislation in Europe is coming thick and fast, I imagine in other jurisdictions and other parts of the world, the same will be true. So I guess the question, and I&#8217;m going to ask this to Joe first, given his background of committing to Core in the accessibility arena. What do you make of this? The idea of pushing something to this canonical plugin that previously was the domain of Core.</p>



<p>Does it feel a bit like it&#8217;s, I don&#8217;t know, that the importance of it is being relegated in some way? Do you feel it&#8217;s like undermining? Because we should all have an accessible approach to WordPress development, website development, but in this way, well, it&#8217;s not important enough, if you like, to be in Core?</p>



<p>[00:13:30] <strong>Joe Dolson:</strong> So I think there&#8217;s a lot to unpack here. One of the first things I need to say is, first I&#8217;m going to, I have just a very slight quibble with your definition of a canonical plugin because there are kind of two different paths. There is the whole canonical plugin, which is intended to always stay outside of Core, but there&#8217;s also the canonical plugin, which is used for experimental progress.</p>



<p>And that&#8217;s something like the Performance Lab plugin, where it&#8217;s a whole bunch of different pieces, and they&#8217;re targeted for probably being merged into Core, and this is an experiment ground where we can figure out, is this really working? Is this the best way to do it? Is this suitable for Core? Maybe it should be different in the plugin than it is in Core. Like, for example, what was it that was just shipped? Speculative loading.</p>



<p>They used different rules in the plugin than they ultimately added to Core. It was just a less aggressive version of speculative loading. And I think that can be a very reasonable thing. And that can apply to accessibility too, as accessibility is a spectrum. We&#8217;re not talking necessarily about all accessibility is just, this is accessibility, it&#8217;s all required. Accessibility covers a gamut from, this is absolutely mandatory, basic level stuff, to this is pie in the sky. To even, basically there are some accessibility features that are literally contradictory to each other. In order to make something optimal for this population, you have to implement something that is actually not what this other population needs.</p>



<p>So there&#8217;s a lot of complexity there. The idea of putting accessibility into a plugin can lead to some very negative consequences. It is not necessarily inevitable. So there&#8217;s a lot of difficulty in just determining what is an accessibility plugin? What is it supposed to do? Is this something that&#8217;s supposed to change the front end? Is it supposed to change the back end? Is it implementing editor tools? Is it implementing new features? Is it fixing things that already exist? And I think all of those are complicated unanswered questions.</p>



<p>So kind of figuring out that path and, what is actually intended in this idea of an accessibility plugin? What are the problems it&#8217;s trying to solve? Is the first question mark. And we don&#8217;t really have that. That hasn&#8217;t been worked out in any way.</p>



<p>[00:15:44] <strong>Nathan Wrigley:</strong> So the complexity, and thank you for the clarification, the complexity there, the devil is in the detail. I guess Core in a sense is, if it&#8217;s going to ship in Core, it&#8217;s there. There&#8217;s a menu for this and a toggle for that, and a switch for this, and what have you. What you are saying is the landscape of accessibility is much more complicated than that. And so maybe, in a way, if it was pushed over to a canonical plugin, you could have a more a la carte approach to it. I don&#8217;t know if that&#8217;s where you were going.</p>



<p>[00:16:14] <strong>Joe Dolson:</strong> That&#8217;s conceivable. So, many years ago, Matt proposed the idea of an accessibility, it wasn&#8217;t a plugin at the time, but it was the concept of an alternate admin that would be a simplified admin. And, you know, I pushed back on that, and I still would if it was being marketed as an accessibility feature. There is a value to a simplified admin. It&#8217;s just that it can&#8217;t be considered accessibility focused unless it actually does achieve all goals. But simplification is in itself a goal. Making something easier to use, and having an option where somebody can do something in a simplified way, is extremely valuable.</p>



<p>[00:16:52] <strong>Jonathan Desrosiers:</strong> Yeah, just some thoughts to that. So I&#8217;m a Core committer and I make changes to the software that everybody uses and needs to be compliant, right? I&#8217;m not an accessibility expert by any means, but I&#8217;m versed in the concepts.</p>



<p>So one of the differences that could be in a canonical plugin for accessibility, Core, our coding standards for accessibility, we adhere to the web content accessibility guidelines, version 2.2 at Level AA, right?</p>



<p>But there&#8217;s different levels, there&#8217;s different versions of that. And so with different levels come different requirements, and different strictness to how you approach different interfaces. And so maybe a canonical plugin could allow you to adhere to different levels that perhaps your organisation needs to adhere to, that the 80% of users don&#8217;t necessarily need to.</p>



<p>Another thing that, I wanted to mention this because I always think of this. We, by default, think of accessibility as someone in a wheelchair or someone that&#8217;s blind, but you could break your hand, you could fall down the stairs, you could get eye surgery and have to wear a patch for a month. And so it&#8217;s not just permanent, it&#8217;s temporary disability as well. And I like to try to remind myself of that because you don&#8217;t need accessibility until you do, and then you&#8217;re glad it&#8217;s there when it&#8217;s there, right?</p>



<p>My grandfather was legally blind and he was a veteran. So he went to school and he learned how to use a computer. And he had a computer with like JAWS on it, and it would read it to him, and we&#8217;d send each other emails and stuff. I always like to think of him too, because if you know someone in your life that has accessibility needs, it also raises that importance to you as well. So, if I don&#8217;t do this in the right way, my grandfather won&#8217;t be able to use this website, or communicate with the world in the same way that I can.</p>



<p>And so finding those, I think that when you talk about accessibility, and this isn&#8217;t directly related to what you said, Joe, but I wanted to mention it. But if you can humanise it in some ways, in a way that&#8217;s in your life that you can relate to, it helps you find the reasoning in why it&#8217;s important, why these discussions are important, right? That we approach these problems in the right way, and that we meet the acceptable standard.</p>



<p>[00:18:57] <strong>Nathan Wrigley:</strong> In the end, this will be a binary decision. It either will be a canonical thing at some point in the future or it won&#8217;t, I guess maybe.</p>



<p>[00:19:05] <strong>Jonathan Desrosiers:</strong> Will it? I mean, we might merge some of it into Core or we might choose, it doesn&#8217;t fit in a plugin, right? And that&#8217;s kind of where that gray area is. And in some ways, canonical plugins take up a little more time because we are having these discussions. Like, we feel strongly this should go in, someone else may not. We have to work to get a consensus, and once we reach that consensus, we have to, I talk about this in my talk about how we make decisions, but we disagree and commit. And so you can state your disagreement, but then it&#8217;s important that we move forward together. Building that consensus and deciding on the right path, even if you disagree.</p>



<p>[00:19:39] <strong>Nathan Wrigley:</strong> Does the canonical option then, does that allow for more flexibility? So as an example, you could release, I don&#8217;t know, every two weeks, or every month or something like that. Whereas at the moment, we&#8217;re recording it in June, we don&#8217;t need to get into it, but we&#8217;ve got a different, a very different cadence for how often Core is being updated. Maybe that will change in the future, maybe not.</p>



<p>But with a canonical option, it would be possible to do any cadence you liked. And also, I suppose you could be a little bit more a la carte because you could have a variety of canonical plugins wrapped around the theme of accessibility. So, yeah, I guess what I&#8217;m asking there is really, does the cadence of a canonical plugin allow more flexibility?</p>



<p>[00:20:21] <strong>Jonathan Desrosiers:</strong> Absolutely. Whether we&#8217;re releasing once a month, or we&#8217;re releasing once a year, you can release a canonical plugin as often as you want, whereas Core has a much more predictable, well, not that the canonical plugin releases won&#8217;t be predictable, but it has a much more standardised schedule, I guess.</p>



<p>And so you could release once a week for your canonical plugin, and then if we have a Core release every three months, that&#8217;s 12 weeks, you have 12 releases of that canonical plugin that you could potentially refine issues. Whereas if you released it in the one Core release, you&#8217;d get all that feedback at once instead of dividing it up and making adjustments and going from there.</p>



<p>[00:21:00] <strong>Joe Dolson:</strong> So just to pose an example of something that I think actually is extremely suitable for an accessible plugin, and this is because, you know, I actually have written this. So let&#8217;s take for an example, the WordPress video block. It is extremely basic. It produces a video element and it gives you options to upload various tracks that are used in that video element. It is just the raw HTML 5. That&#8217;s what WordPress produces in the block editor.</p>



<p>Now, is it appropriate for WordPress Core to make a decision about how that video block is actually going to be rendered as it is with this raw HTML 5 element? It&#8217;s rendered differently by every browser. They have their own rules, their own way of doing it. That&#8217;s what it&#8217;s going to do. You can make it much more accessible, because there are a lot of things that those native blocks don&#8217;t support, the native video element doesn&#8217;t support.</p>



<p>In the past, WordPress did use MediaElement.js to render videos. And I actually think getting rid of that, and just using the raw video element was a good thing. But it&#8217;s not the most accessible way of viewing video. So is it something that we should do in Core? Should we dictate a player interface, or should we leave that raw in Core? Core just produces a video element, and then a plugin can enhance that to make it more accessible.</p>



<p>I&#8217;m also the lead developer for an accessible media player called Able Player. That&#8217;s a completely separate JavaScript project that has nothing to do with WordPress, but I have got a WordPress plugin for it, which basically just says, hey, here&#8217;s a video block, I&#8217;m going to re-render it using Able Player.</p>



<p>[00:22:37] <strong>Jonathan Desrosiers:</strong> I think if you want another good example of what a canonical plugin can be in the framework it can operate within, look at the Performance Lab plugin. The Performance Team has this plugin, and initially it had all these different features in it, and then we were trying to merge in support for the WebP image format in Core, and we realised it needed a little bit more time. And Matt suggested that we break them out into more finite plugins.</p>



<p>So the Performance Lab feature plugin has, or canonical plugin, has a framework and then there are sub plugins that you can install for modern image formats. Pre-loading the images, there&#8217;s an accessibility feature where it shows you the color, the dominant color of the image, and it&#8217;s there until the image loads. And so that way it&#8217;s visually represented. And so that&#8217;s another good example of that.</p>



<p>And one example that I&#8217;m wondering may be a good use of canonical plugins is the new AI Team. And so we&#8217;re at a point where we need to do some research and figure out what, in the context of WordPress, is needed for AI to flourish, and WordPress to be AI friendly. And I think that in some way, that will end up being a base foundation, some classes and some ways to interact with your content and your site, that can communicate with different models.</p>



<p>So perhaps some canonical plugins could be one for each of the popular models. And so you have this data transport layer that passes your site&#8217;s information to these plugins, and then it connects with ChatGPT, or whichever your preferred model is. And so within that you could have settings. The reason why I brought up the Performance Plugin is there&#8217;s settings within it. So for the modern image format, you could say, I only want WebP, or I only want JPEG XL or AVIF. You can decide which ones you want. But if that were to get into Core, that&#8217;s not the right thing to say like, I do or I don&#8217;t want this.</p>



<p>Another philosophy is decisions not options. We don&#8217;t want to overwhelm users with this. And a good example of this is, should this site be indexed by search engines? And if you disable that, it also disables your sitemap. And so making those intuitive decisions on behalf of the user and what they&#8217;ve done, the actions they&#8217;ve taken, we don&#8217;t want to overload them with options.</p>



<p>And so in canonical plugins, you can be more, you don&#8217;t have to follow that as strictly, because the point is that it&#8217;s a plugin that&#8217;s configurable, that we&#8217;re testing different things in different ways, and finding out what works for which groups of people, and in what ways, and gathering feedback around that.</p>



<p>Back to the point about, one other thing I wanted to mention too, is that one complaint I&#8217;ve always had with canonical plugins is that it&#8217;s very difficult to know about the experiences of the people using them. So for example, we had a plugin for a while that they want to, thankfully they want to rekindle it, is the Design Experiments plugin.</p>



<p>And you would install that, and there were, you know, at any given time, a couple of 2, 3, 4 different design experiments in the plugin. But we never knew who had which experiments active, which ones they disabled. Did they have bad experiences? And that&#8217;s why they turned it off. Did they like it? Did they prefer it?</p>



<p>We almost need to have some type of either AB testing within the plugins themselves, or a way to gather that feedback from the people that are using these canonical plugins. This is especially true when it&#8217;s a feature plugin that we may want to emerge into Core.</p>



<p>And so I did bring up to Matt in one of our recent meetings with the Core committers, and he was open to exploring the idea of better ways in canonical plugins to gather that feedback, because they&#8217;re now of a renewed importance in our community and how we foresee maintaining things.</p>



<p>We&#8217;re quite large, and we need to start saying no to more things in some ways. And so this is a great way to push it to a canonical plugin. Like, we don&#8217;t think that&#8217;s a right fit in Core, it&#8217;s too much, we can&#8217;t handle it. But create a community maintain plugin and we&#8217;re happy to stand behind it with you.</p>



<p>[00:26:32] <strong>Nathan Wrigley:</strong> I&#8217;m going to try and get this out. I&#8217;m not sure I&#8217;m going to encapsulate it right. I&#8217;m going to offer this one to Joe first. And that is the legislation in the landscape of 2025. And we know that in Europe in particular, a lot of this stuff is mandated. Obviously there&#8217;s degrees to that, but there&#8217;s a lot of mandatory stuff coming down very, very soon.</p>



<p>Given that, putting things into a canonical plugin where you can pick and choose, I have not installed that, I have installed that, what are your feelings about that? Is there some, I&#8217;m going to use the word core, set of features around accessibility that really where we&#8217;re at now, there&#8217;s just no choice, it just has to be in Core?</p>



<p>Because the concern that I have perhaps is, how will you discover this canonical plugin? How will it surface itself? The three of us will find it, because this is what we do. But the regular user who&#8217;s just got a brick and mortar store, they want to put a WooCommerce site out there, just something quick and easy, where are they going to even find out about these canonical plugins?</p>



<p>[00:27:32] <strong>Joe Dolson:</strong> And I do think this is a big part of what comes down to that question of, what does the accessibility plugin, what does it do? Because that is where things can really go kind of horribly wrong.</p>



<p>When we&#8217;re talking about the accessibility of existing WordPress interfaces, how you actually interact with the admin, I don&#8217;t think there&#8217;s anything there that should ever be in a plugin because the Core code has to be accessible.</p>



<p>You know, Jonathan mentioned that we&#8217;ve got this commitment to WCAG 2.2 at Level AA. I would say that we haven&#8217;t quite achieved that. It&#8217;s a goal, but I mean, the reality is there&#8217;s still a lot of legacy interfaces that our, I find new things every day. It&#8217;s just the reality. But those need to be fixed in Core. They should not be part of a plugin.</p>



<p>So, a plugin should be something that enhances something in a meaningful way that perhaps doesn&#8217;t apply to all situations. That&#8217;s one of the reasons I brought up the video element, because one of the interesting exceptions in WCAG is that you are not responsible for the accessibility of browser defaults. The browser is responsible for that.</p>



<p>And so if you are using a video block, and it&#8217;s just the video element, that is actually something that should pass. It&#8217;s not necessarily accessible, that&#8217;s up to the browser, but it&#8217;s not the responsibility of your site. And that&#8217;s a really fuzzy area from the law because, yes, you should still fix it.</p>



<p>[00:29:00] <strong>Nathan Wrigley:</strong> Imagine a scenario where we have a canonical plugin for accessibility. So we have WordPress Core, and then a canonical plugin for accessibility. WordPress Core is evolving all the time. No doubt missteps will be made. People like you, Joe, will be going in and saying, okay, this needs to be adapted, this needs to be amended.</p>



<p>And then on top of that, we&#8217;ve also got this complete other path of developing the canonical plugin side of things. There&#8217;s two strains of work happening now. So that&#8217;s just interesting. I don&#8217;t know whether that&#8217;s good or bad.</p>



<p>[00:29:30] <strong>Joe Dolson:</strong> So one thing I will say is, you know, the bulk of the new development in WordPress is in Gutenberg. There&#8217;s no need for a canonical plugin to handle accessibility things in Gutenberg because honestly, that should just go into the plugin Gutenberg. If there&#8217;s something in Core that needs to be fixed, you should be able to install Gutenberg and be able to move forward. I think that would be reasonable. I don&#8217;t think that&#8217;s a practical path to have a separate accessibility canonical plugin that fixes issues in Gutenberg problems for Core. I mean, I can&#8217;t see that as making any sense.</p>



<p>[00:30:04] <strong>Jonathan Desrosiers:</strong> In some ways we have to just weigh the benefits with the effectiveness and the time and the resources available. Some other ways that you can find canonical plugins, when you click add plugin on your site, there&#8217;s different tabs at the top, like featured, popular. One of them is featured, and so that is one that when we have canonical plugins, we want people to adopt or use, we add plugins to that tab.</p>



<p>So the performance plugin is there, Gutenberg is there because we want people to be testing those up and coming changes. To the point of the, we&#8217;re not being fully compliant with that standard, it&#8217;s, we have to remember that this constant churn going on with a code, right? There&#8217;s new code coming in, there&#8217;s old code being removed. And so in a way the goal line is still the same, but we&#8217;re getting peaks and valleys that we have to, they suddenly appear and we have to tackle them as we go.</p>



<p>I think for discoverability, it depends on the ecosystem in some ways. For example, as an American, you know, I&#8217;m not always, sometimes I hear of new legislations from EU and I say, oh, what are they up to now, right? It&#8217;s more things I have to do to follow the rules. But I think about maybe an American business owner, or American site owner, and sometimes it&#8217;s not clear. What happens if I&#8217;m in Europe and then I visit my site when I&#8217;m traveling, right? Does that open me up for legal action. If someone happens, if I make a very specific or rare type of trinket, and people in the EU find it, does that open me up to legal problems?</p>



<p>And so these are things that the normal site owner, I just want a website, I just write on it, right? They don&#8217;t think about this stuff. And so, in addition to being compliant with these guidelines that we strive to achieve, we need to think about those decisions, not options type things.</p>



<p>Another philosophy is to be simple, strive for simplicity. Most people don&#8217;t know what an XML sitemap specification is, or how to implement it, or what should go in it. And so we just make the decision to handle that stuff on their behalf. And if they need to, they can install a plugin to customise it, right?</p>



<p>So the same is kind of true in this sense. And if the world is susceptible to, or responsible for adhering to certain things, and we can reasonably help them without them having to find certain things to install or configure, then maybe it&#8217;s the right thing to put that thing into Core, right?</p>



<p>Perhaps it falls on the shoulders of hosts, where if the customer has an EU address, they install the accessibility canonical plugin, depending on what&#8217;s in it and what&#8217;s not. It&#8217;s likely not. We should be deliberate about what goes in Core and what goes into the accessibility plugin and for what reasons. But we also should be conscious that, as a community, we have to also help these non-technical users by making decisions for them when we know that it&#8217;s a problem.</p>



<p>Like, our legal team says, yep, any site that potentially gets EU traffic, they have to have this, or they have to block EU or whatever it is. We can outline these situations and make the best decisions for our customers and our users, given those criteria that we are aware of.</p>



<p>[00:33:07] <strong>Joe Dolson:</strong> It&#8217;s interesting you say that because one of the things you particularly dove into there is the idea of an accessibility plugin being something for the front end. And that is something that is actually fundamentally challenging. Because when it comes right down to it, we don&#8217;t know what&#8217;s on the front end. And accessibility is an incredibly difficult problem to solve when you&#8217;re kind of just trying to do automation on something that you don&#8217;t know.</p>



<p>You know, there&#8217;s a lot of accessibility plugins out there that are already doing that sort of thing. Overlay plugins. They are famously iffy, because they really don&#8217;t solve most of the problems. And some of them actually introduce more. And that is the thing that I most want to avoid, is that we create our canonical plugin and it&#8217;s just screwing up people&#8217;s websites.</p>



<p>[00:33:59] <strong>Jonathan Desrosiers:</strong> We&#8217;ve all installed a plugin that has way too many options, way too many features, and it doesn&#8217;t do any of them well, right? That&#8217;s not what a canonical plugin should be. In instances where there are many features, like the Performance Lab, there&#8217;s a framework perhaps, and then there&#8217;s sub plugins that do it, right? We don&#8217;t have an importer plugin that has every importer in the same plugin. They&#8217;re in specific plugins so that it can be more targeted, more focused on that specific outlined goal or focus area.</p>



<p>And so that, yeah, that speaks to me, because we definitely don&#8217;t want to mimic some of the plugins that are out there where they try to adhere to cookie laws, and then they also try to adhere to popups and, you know, Consent API and all that type of stuff. And so we want to make sure that we&#8217;re dividing those problems up into meaningful chunks, but chunks that we can manage reasonably and not be a runaway train in some ways.</p>



<p>[00:34:47] <strong>Nathan Wrigley:</strong> I was thinking about this last night and I was thinking, why does this conversation matter to me so much? And it came down to the fact that if we were having this conversation about a canonical plugin for, let&#8217;s say, performance or SEO, it would be intriguing, but there&#8217;s no moral component to it. You&#8217;re just serving a bunch of people who would like a more performant website. Well, that&#8217;s great. That will increase your SEO. No doubt, more traffic will come to your website.</p>



<p>But there is a moral component here, and there are people whose lives will be immeasurably better if WordPress is, and I&#8217;m doing air quotes, accessible. And so that just makes this whole thing so much more important and impactful. So there&#8217;s no question there, it&#8217;s just an observation.</p>



<p>There&#8217;s a different wrinkle here. There&#8217;s just some other thing. You know, you can imagine the panoply of different people trying to use websites. The frustration, the endless frustration that&#8217;s being caused by things because they&#8217;re not configured in a way that they can use them. And it would be a shame to miss this opportunity. And I don&#8217;t know what the right answer is here. I just know that there&#8217;s this moral component that makes this much more of a hot button topic than anything else. So that&#8217;s my piece, but if you want to respond to that.</p>



<p>[00:36:03] <strong>Jonathan Desrosiers:</strong> I just left the keynote this morning by Noel Tock, and he spoke a lot about the impact. I try to illustrate this often, and he did a much better job than I&#8217;ve done before. He&#8217;s involved with a lot of organisations in the war affected Ukraine. And so he covered a half dozen organisations that are saving lives, rescuing animals, providing humanitarian relief, and they run on WordPress. And so accessibility lends to that in some ways, because you don&#8217;t know where a group is that has a need, and the free software could help them with that need, and in what ways and what impact that could have on them.</p>



<p>Sometimes I think about how certain things overlap. And so I picture two circles, one for accessibility, and if you were to make a diagram of how it overlaps with democratising publishing. In many ways, it almost completely overlaps that circle. There&#8217;s something democratising with being accessible. I mean, it&#8217;s in the name, it&#8217;s accessible to as many people as possible. And so I think that, whether you know it or not, that probably in some ways is eliciting that feeling, right, of we all believe in this project where we all want to do good in the world. We want our software, and our community, to have an impact. And in many ways, accessibility leads to that mission that we all have.</p>



<p>[00:37:26] <strong>Joe Dolson:</strong> And I do want to say that, as it stands right now, when we&#8217;re talking about the admin of WordPress, it&#8217;s already one of the most accessible content management systems out there. We have done very good work there.</p>



<p>The front end is kind of a completely different story, and that ultimately is the fact that Core doesn&#8217;t control very much of front end, which is both one of the incredible powers of WordPress. It&#8217;s got this amazing degree of flexibility, and you can do almost anything with it. And it&#8217;s also one of the curses, because if we want to globally make the front end of everybody&#8217;s website better, there is very little we can do.</p>



<p>That&#8217;s where I kind of feel like our accessibility efforts most are needed right now is just kind of getting plugin developers, getting theme developers, to be better. Make better choices and provide better options in their tools.</p>



<p>[00:38:18] <strong>Jonathan Desrosiers:</strong> It is true that we don&#8217;t control the front end, but one of the features I love in Gutenberg is when you&#8217;re selecting the text colour and the background colour of a block. If you select light blue and dark blue, it says, hey, this is not accessible, it doesn&#8217;t meet the guidelines. People are going to have a hard time reading this.</p>



<p>I often think about ways that maybe, one I had suggested before which hasn&#8217;t been implemented yet, some issues take many years to flesh out and be adopted, if at all. But one of them is perhaps we do another notice like that when someone is entering an alternate text for their image. You know, maybe they just put jpeg 123, right? That&#8217;s not what alt text is meant for. It&#8217;s meant to describe what&#8217;s in the picture in case someone can&#8217;t see it, or it&#8217;s not visible.</p>



<p>And so it should be, Nathan Wrigley holding his microphone, sitting at a table, talking to Jonathan and Joe, who also have a microphone. Stuff like that. He&#8217;s got a red shirt. Things that illustrate what&#8217;s in the image. And so what are opportunities that we can take to guide our users to produce better content on the front ends?</p>



<p>And I think there&#8217;s a particularly large opportunity for that in block themes, because the nature of block themes is very structured. It starts with a theme.json file, and it&#8217;s gobbledegook for a lot of people. They don&#8217;t understand what the JSON is, how to read it. But it&#8217;s structured data that&#8217;s extrapolated into the editor to apply the default margin for your blocks. To apply the default labels, the colours, all those different things that are configurable in a block theme.</p>



<p>And so like, what&#8217;s missing from that that we can add that will lend to better visual representations of your content? There&#8217;s the HTML API behind the scenes that manipulates HTML strings in the context of WordPress. So how can we make sure that we&#8217;re generating accessible markup, those building blocks?</p>



<p>A lot of times we run into issues where there&#8217;s no good solution for a specific accessibility problem because the foundational elements, were not taking that into consideration when it was built. And so oftentimes it&#8217;s hard to get backing for those changes, because it&#8217;s such a big undertaking because it wasn&#8217;t a part of the the initial discussion and consideration.</p>



<p>And so how can we replace these over time, but also as we build new things, take those things into consideration so that the things that get expanded into the user experience and exposed in the site editor, result in better front end experiences for everyone, that are more accessible?</p>



<p>[00:40:50] <strong>Joe Dolson:</strong> Yeah, I think that&#8217;s a really great thing to call out is those places in the authoring process where we provide accessibility feedback. There&#8217;s a whole set of guidelines that are specific to that. That&#8217;s the Authoring Tool Accessibility Guidelines. And I love everything we do to try and implement those.</p>



<p>I will say that the colour contrast one, it was implemented very, very early on. There are a number of things that are in Core now that it actually just isn&#8217;t able to handle. Some layering things that it&#8217;s just like, oh, I don&#8217;t know what&#8217;s going on here. So that needs work. But that&#8217;s just kind of the constant process. At least it does exist and it can cover a lot of the most common use cases.</p>



<p>But, yeah, that alt text one, that&#8217;s also a really valuable thing to be able to have some checks on. It&#8217;s a hard thing, and I think one precursor change we actually need to be able to make that possible is we need to make some revisions to how alt text is stored in the database.</p>



<p>Because the reality is, right now WordPress stores alt text as a meta field that&#8217;s tied to the attachment, tied to the image. But alt text actually is context sensitive. And so really there shouldn&#8217;t be one canonical alt text for an image. There could be a canonical description of that image, but the alt text itself should always be context sensitive.</p>



<p>On the other hand, if we just removed that field and didn&#8217;t save it, which is something that the block editor has kind of taken that path, when you change it in the block editor, it does not save to the media library, that&#8217;s also flawed, because sometimes you do actually want to use that, or at least want to use it as the basis for the next version of that alt text you write. So what I&#8217;d like to see is that we could actually save multiple alt text fields and have that managed.</p>



<p>[00:42:33] <strong>Jonathan Desrosiers:</strong> There&#8217;s all these great ideas, and great things, but we also need to strive for simplicity. We don&#8217;t want them overwhelmed with a hundred different accessibility notices of how they could improve to the point where they say, I&#8217;m going to somewhere else, this website&#8217;s too confusing.</p>



<p>This is potentially also another opportunity for AI. Perhaps AI could be used to suggest what accessible alt text should be in the context of the article you&#8217;re writing, or the page you&#8217;re authoring. You know, maybe AI can be trained in a way to audit your page for accessibility and make suggestions.</p>



<p>AI is really exciting. I often sit back and watch and just observe because there&#8217;s so many models and you never know which ones to use. And unless you&#8217;re really deeply involved, it&#8217;s hard to know the best model for certain tasks.</p>



<p>But I definitely like to think about, it&#8217;s helped me be more organised for sure. I have a hard time sometimes when I am creating a talk, getting my thoughts into an organised deck. And so by putting all my thoughts into AI, I&#8217;m able to better organise it and then I can drop my notes and my thoughts in the structured outline that it kind of organises for me, right?</p>



<p>But, in what ways can that be applied in the editing process within WordPress under the lens of accessibility? And we could have SEO, we could have, Yoast has a lot of SEO tools that makes SEO recommendations. And we could have our canonical plugin perhaps has an AI interface and we go from there.</p>



<p>So, yeah, there&#8217;s many different ways we can tackle these accessibility issues. It&#8217;s exciting to have these types of discussions and consider what could be.</p>



<p>[00:44:05] <strong>Nathan Wrigley:</strong> Sadly, I think time is going to get the better of us. But I would like to say thank you, both of you, for your intelligent commentary on this. I don&#8217;t know which way it&#8217;ll go.</p>



<p>[00:44:15] <strong>Jonathan Desrosiers:</strong> And there&#8217;s no right way necessarily.</p>



<p>[00:44:16] <strong>Nathan Wrigley:</strong> That&#8217;s right. And it seems like there&#8217;s benefits in both possibilities. I&#8217;m not going to put you on the spot and ask you which your preferred one is. I have suspicions. Let&#8217;s keep this debate going I suppose. Let&#8217;s see which way it falls out. And, yeah, Joe and Jonathan, thank you so much for chatting to me today.</p>



<p>[00:44:33] <strong>Jonathan Desrosiers:</strong> Of course. Perhaps we could do like a six month check-in on the state of canonical plugins.</p>



<p>[00:44:38] <strong>Joe Dolson:</strong> Yeah, it&#8217;ll be interesting to see what happens next. Thanks so much.</p>



<p>[00:44:40] <strong>Nathan Wrigley:</strong> I honestly think that we could have gone in a hundred different directions here. I think there&#8217;s bits of this podcast, which we could have opened up and probably spoken for many, many more hours. But, yeah, thank you both.</p>
</div></details>



<p>On the podcast today we have <a href="https://www.joedolson.com/">Joe Dolson</a> and <a href="https://jonathandesrosiers.com/">Jonathan Desrosiers</a>.</p>



<p>As you’ll hear in their podcast introductions, both Joe and Jonathan are veterans of WordPress, committing to Core in different ways. They’re deeply committed towards making the platform more useful for all users.</p>



<p>This episode is all about exploration rather than answers. Joe and Jonathan discuss the world of canonical plugins, a special category of plugins maintained by the Core team. They are designed to be as reliable and secure as features found in WordPress Core itself. The discussion unpacks what exactly defines a canonical plugin, how these plugins have evolved out of the traditional feature plugin model, and what it means for users and contributors alike.</p>



<p>At the center of this episode is accessibility: should accessibility enhancements remain a primary concern within WordPress Core, or is it time to start developing them as canonical plugins? Joe and Jonathan discuss the pros and cons of both options, referencing technical challenges, project philosophies, and the ever-changing legislative environment, especially with tough new regulations in Europe.</p>



<p>They consider the discoverability of canonical plugins for non-technical users, potential overlaps and division of labour between plugins and Core, and the moral imperative of making websites  accessible to all.</p>



<p>We also touch upon practical examples, from the WordPress video block, to the Performance Lab plugin, and weigh up how cadence, stability, and focus can differ outside the Core. The conversation also goes beyond theory, delving into the real-life impact accessible technology has, from legal requirements to personal stories and the broader mission of democratising publishing.</p>



<p>Whether you&#8217;re a developer, a site owner, or someone interested in the ethical questions at the heart of open-source software, this episode is for you.</p>



<h2 class="wp-block-heading">Useful links</h2>



<p><a href="https://wordpress.org/news/2009/12/canonical-plugins/">Canonical Plugins (Say What?)</a></p>



<p><a href="https://wordpress.org/plugins/wordpress-importer/">WordPress Importer</a> plugin</p>



<p><a href="https://wordpress.org/plugins/mp6/">mp6</a> plugin</p>



<p><a href="https://hackerone.com/wordpress?type=team">WordPress HackerOne program</a></p>



<p><a href="https://wordpress.org/data-liberation/">Data Liberation Project</a></p>



<p><a href="https://jonathandesrosiers.com/2018/10/accessibility-a-developers-pledge/">Accessibility: A Developer’s Pledge</a></p>



<p><a href="https://www.freedomscientific.com/products/software/jaws/">JAWS</a></p>



<p><a href="https://www.mediaelementjs.com/"> MediaElement.js</a></p>



<p><a href="https://ableplayer.github.io/ableplayer/"> Able Player</a></p>



<p><a href="https://github.com/WordPress/design-experiments"> Design Experiments plugin</a></p>



<p><a href="https://europe.wordcamp.org/2025/speaker/noel-tock/">WordCamp Europe 2025  keynote with Noel Tock</a></p>



<p><a href="https://www.w3.org/WAI/standards-guidelines/atag/">Authoring Tool Accessibility Guidelines</a></p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 25 Jun 2025 14:00:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:14:"Nathan Wrigley";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:30;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:85:"Open Channels FM: Measuring Success in Video Marketing: Why Views Aren’t Everything";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:47:"https://openchannels.fm/?post_type=blog&p=97509";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:88:"https://openchannels.fm/measuring-success-in-video-marketing-why-views-arent-everything/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:192:"View counts aren't definitive for video marketing success. Focus on quality viewers, conversion-oriented content, and long-term impact instead of just numbers for achieving meaningful results.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 25 Jun 2025 11:47:18 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:31;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:62:"Gravatar: Mobile SDKs Now Edit Full Profiles, Not Just Avatars";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"http://blog.gravatar.com/?p=3338";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:89:"https://blog.gravatar.com/2025/06/24/mobile-sdks-now-edit-full-profiles-not-just-avatars/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:3665:"<p>Got users stuck with outdated Gravatars or profile info in your mobile app? Your Gravatar integration just became a lot more powerful.</p>



<p>Tens of thousands of apps and sites pull in Gravatars for a better user experience. But when someone wants to update their avatar or profile details, they&#8217;re usually stuck hunting for settings — or worse, they can&#8217;t update them at all.</p>



<p>With our Quick Editor and Mobile SDKs, problem solved!</p>



<h2 class="wp-block-heading">One Tap to Update Everything</h2>



<p>Our Mobile SDKs have always made avatar updates simple. Users tap their avatar, make changes, and boom – it&#8217;s updated everywhere. But avatars are just part of your digital identity.</p>



<p>The latest SDK releases bring full profile editing to your mobile app. Now users can update their entire Gravatar – display name, about info, location, pronouns, and more – right from within your app.</p>



<h2 class="wp-block-heading">What&#8217;s New</h2>



<h3 class="wp-block-heading">Profile Editing Beyond Avatars</h3>



<p>Users can now edit their complete Gravatar profile without leaving your app. </p>



<p>This includes:</p>



<ul class="wp-block-list">
<li>Display name</li>



<li>About/bio information</li>



<li>Location</li>



<li>Job title</li>



<li>And more</li>
</ul>



<h3 class="wp-block-heading">iOS 3.4.0 Improvements</h3>



<ul class="wp-block-list">
<li>Smoother animations on the SwiftUI sheet</li>



<li>Better VoiceOver support for accessibility</li>



<li>Performance optimizations throughout</li>
</ul>



<h3 class="wp-block-heading">Android 2.5.0 Updates</h3>



<ul class="wp-block-list">
<li>Removed Retrofit dependency from core module (cleaner, lighter integration)</li>



<li>New API endpoints for expanded functionality</li>



<li>Bug fixes for improved stability</li>
</ul>



<h2 class="wp-block-heading">See It in Action</h2>



<p>The editing flow feels native to each platform. On iOS, it&#8217;s a sleek SwiftUI sheet. On Android, it follows Material Design patterns. Your users get a familiar experience while managing their universal web identity.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img alt="" class="wp-image-3343" height="1260" src="https://blog.gravatar.com/wp-content/uploads/2025/06/cleanshot-2025-06-24-at-16.21.33.gif" style="width: 300px;" width="580" /></figure>



<h2 class="wp-block-heading">Why This Matters</h2>



<p>Think about it: someone downloads your app, signs up, and their Gravatar automatically fills in their avatar and profile details. Later, when they get a new headshot or job title, they can update it right there in your app.</p>



<p>No hunting through settings. No switching between apps. One tap, and they&#8217;re current everywhere.</p>



<p>You get happier users with fresh, accurate profiles. They get a seamless experience that just works.</p>



<p>We know it works because we dogfood our SDKs in our sister apps <a href="https://jetpack.com/mobile/">Jetpack</a> and <a href="https://pocketcasts.com">Pocket Casts</a>, powering avatars and profile details millions of users monthly.</p>



<h2 class="wp-block-heading">Developers: Ready to Upgrade?</h2>



<p>The updated SDKs are available now for both iOS and Android. Adding profile editing to your existing Gravatar integration takes just a few lines of code.</p>



<p>Check out our <a href="https://docs.gravatar.com/mobile-sdk/">developer documentation</a> for platform-specific guides, code examples, and migration instructions.</p>



<p>Your users deserve to control their digital identity. Now you can help them do it.</p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 24 Jun 2025 16:07:19 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:11:"Ronnie Burt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:32;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:110:"Open Channels FM: New, Open Channels Dispatch: Rebranding, Site Updates, and What’s Next for OpenChannels FM";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"https://openchannels.fm/?p=99138";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:110:"https://openchannels.fm/new-open-channels-dispatch-rebranding-site-updates-and-whats-next-for-openchannels-fm/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:108:"BobWP kicks off Open Channels Dispatch to share quick updates and news about the rebranded Open Channels FM.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 24 Jun 2025 11:41:30 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:33;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:106:"Open Channels FM: How Non-Developers Can Start Contributing to WordPress Translations (And Why It Matters)";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:47:"https://openchannels.fm/?post_type=blog&p=97421";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:111:"https://openchannels.fm/how-non-developers-can-start-contributing-to-wordpress-translations-and-why-it-matters/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:354:"One of the most inspiring aspects of the WordPress ecosystem is its commitment to making the web accessible in every language. In a recent episode from the series The WordPress Way,” hosts Abha Thakor, Pascal Birchler, and Robert Windisch dove deep into the world of translations and multilingual WordPress and revealed just how much everyday [&#8230;]";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 23 Jun 2025 09:23:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:34;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:23:"Matt: Automattic Twenty";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:23:"https://ma.tt/?p=143509";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:40:"https://ma.tt/2025/06/automattic-twenty/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:4771:"<p><a href="https://automattic.com/2025/06/20/automattic-20-years/">We&#8217;re celebrating a fun anniversary at Automattic today, our 20th, with a fun look-back</a>. Gosh, it&#8217;s been quite a journey, and it still feels like we&#8217;re just getting started in so many areas.</p>



<p>In 2005, being a remote-first company was anathema to investors and business leaders* at the time; it was a scarlet letter that combined with our embrace of Open Source and the relative inexperience got us some funny looks and a lot of skepticism. I will be forever grateful to the true contrarians who bet on Automattic in our earliest days. </p>



<p>Even when it was clearly working the first few years, there was always the dismissal of &#8220;that won&#8217;t scale&#8221; that loomed like a remote startup <a href="https://en.wikipedia.org/wiki/Great_Filter">Great Filter</a>. These days I hear from friends who run incubators or do seed investing that almost every company they look at taps into remote talent.</p>



<p>It makes me think about what uncommon things Automattic does today that will be standard in the coming decades. We do our best to balance idealism with pragmatism, because even if you are on the right side of history, being too early can be as bad as being wrong.</p>



<p>I can&#8217;t predict everything that will change over the coming decades, especially with AI making the next few years particularly hard to predict. Still, I do know a few things that <em>won&#8217;t</em> change: everything flows from our people, open source is still the most powerful idea of our generation, growth is the best feedback loop, and no matter how far away the goal is, the only way to get there is by putting one foot in front of another every day. People will always want fast, bug-free software; instant, omniscient customer service when they need it; and experiences so intuitive that they usually don&#8217;t. And once they&#8217;ve had a taste of freedom, it&#8217;s hard to return to their previous state. (For more, <a href="https://automattic.com/creed/">see our creed</a>.)</p>



<p>Our industry is highly cyclical, and I feel fortunate to have gained the perspective of a few bubbles and crashes, along with all the emotions that go with them. It&#8217;s undeniable we&#8217;re in the very early days — the command-line times — of an AI era, and though it will probably have its own bubble and crash cycles, it feels as significant to me as anything since we started. It&#8217;s more important than ever that we fight for open source and the freedom-enhancing side of technology. I&#8217;m committed to doing whatever I can to democratize publishing, commerce, and messaging, but there are many other areas of the human experience to cover&#8230; pick one to work on! It&#8217;s hard and rewarding work. </p>



<p>When I was working on an early version of one of our internal stats systems, it was really important to me that it showed rolling windows of the last 24 hours (daily), 168 hours, 4 weeks, and of course yearly. The rolling was important so you could see the impact of your changes as soon as possible. Then I felt called to add another: decade.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img alt="" class="wp-image-143529" height="113" src="https://i0.wp.com/ma.tt/files/2025/06/mc-rolling-stats-1024x191.png?resize=604%2C113&#038;quality=80&#038;ssl=1" width="604" /></figure></div>


<p>Some thought it was silly at the time, and it&#8217;s true that it initially served mainly as a way to display the cumulative number. But I wanted every time someone looked at one of these stats pages that they were reminded that <strong>we&#8217;re building for the long term</strong>. Our users and customers deserve nothing less. And now we have some statistics with 20 years of history, it has some useful comparisons as well! </p>



<p>In <a href="https://ma.tt/2015/06/ten-years-of-automattic/">Ten Years of Automattic, I wrote</a>:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>There’s a lot more to do, and I can’t wait to see what a “20 Years of Automattic” post says. I’m a lucky guy.</p>
</blockquote>



<p>Now we know! I&#8217;m still a very lucky guy, and can&#8217;t wait to build, learn, and share alongside a talented crew of like-minded hackers, dreamers, and doers.</p>



<p><em>* I&#8217;ll note that pioneers like Bob Young (Red Hat), Stephen Wolfram (Wolfram Research), Jason Fried (37Signals), and Mårten Mickos (MySQL) were big inspirations. Also, the entire Open Source community and most projects operated at least partially this way, which is why it seemed so natural to us as a second-generation Open Source company.</em></p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 21 Jun 2025 02:59:54 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"Matt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:35;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:115:"Gutenberg Times: Interactivity API, WordPress 6.8.2, Transitions API and Pride Photo Drive — Weekend Edition #333";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:35:"https://gutenbergtimes.com/?p=40735";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:119:"https://gutenbergtimes.com/interactivity-api-wordpress-6-8-2-transitions-api-and-pride-photo-drive-weekend-edition-333/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:20878:"<p>Hi there, </p>



<p>Are you ready for a summer break of the Gutenberg Times? I am definitely ready for a vacation. It&#8217;s been a fabulous first half of the year with plenty of new experiences, and reconnecting with friends in the WordPress community. There is soo much inspiring creativity in the community around block editor, Playground and AI. I am curious what the second half of year will bring.</p>



<p>As for WordCamps, I am considering going to WordCamps, <a href="https://gdynia.wordcamp.org/2025/">Gyndia</a>, <a href="https://verona.wordcamp.org/2025/">Verona</a>,  and <a href="https://pisa.wordcamp.org/2025/">Pisa</a>. Once the decisions are made, I, of course, will let you know. Do you have any WordCamp plans?</p>



<p>Enjoy the summer and I&#8217;ll be back. </p>



<p>Yours, <img alt="💕" class="wp-smiley" src="https://s.w.org/images/core/emoji/15.1.0/72x72/1f495.png" style="height: 1em;" /><br /><em>Birgit</em></p>





<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />


<section class="wp-block-newsletterglue-group" style="padding-top: 10px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; margin-top: 0px; margin-bottom: 0px;">
<div class="wp-block-group has-light-background-background-color has-background"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow">
<p><strong>Table of Contents</strong></p>



<nav class="wp-block-table-of-contents"><ol><li><a class="wp-block-table-of-contents__entry" href="https://gutenbergtimes.com/interactivity-api-wordpress-6-8-2-transitions-api-and-pride-photo-drive-weekend-edition-333/#0-word-press-release-information">Developing Gutenberg and WordPress</a></li><li><a class="wp-block-table-of-contents__entry" href="https://gutenbergtimes.com/interactivity-api-wordpress-6-8-2-transitions-api-and-pride-photo-drive-weekend-edition-333/#0-p">Plugins, Themes, and Tools for #nocode site builders and owners</a></li><li><a class="wp-block-table-of-contents__entry" href="https://gutenbergtimes.com/interactivity-api-wordpress-6-8-2-transitions-api-and-pride-photo-drive-weekend-edition-333/#2-word-press-6-0-1-and-6-1-scheduled">Theme Development for Full Site Editing and Blocks</a></li><li><a class="wp-block-table-of-contents__entry" href="https://gutenbergtimes.com/interactivity-api-wordpress-6-8-2-transitions-api-and-pride-photo-drive-weekend-edition-333/#3-building-themes-for-fse-and-word-press">Building Blocks and Tools for the Block editor</a></li></ol></nav>
</div></div>
</section>

<div class="wp-block-newsletterglue-showhide ng-block" width="100%"></div>


<p>In their post, <a href="https://lgbtqpress.com/2025/05/share-your-pride-photo-drive-is-back-for-2025/"><strong>Share your Pride Photo Drive is back for 2025</strong></a>,  <strong>Anne McCarthy</strong> invites you to  an open photo submission event to boost LGBTQ+ representation in the WordPress Photo Directory. The initiative encourages everyone (not just the LGBTQ+ community) to contribute, with fun incentives and cash prizes, emphasizing the importance of diverse, high-quality imagery for web creators. <strong>The deadline is July 1st 2025. </strong></p>



<h2 class="wp-block-heading" id="0-word-press-release-information">Developing Gutenberg and WordPress</h2>



<p><strong>Jean-Baptiste Audras</strong> just dropped the schedule for <a href="https://make.wordpress.org/core/2025/06/17/wordpress-6-8-2-release-schedule/"><strong>WordPress 6.8.2 Release Schedule</strong></a>. There are a few bug scrub sessions coming up, with the first release candidate (RC1) out on July 8, 2025, and the final version landing a week later on July 15. He also shared some handy links to the list of fixes they’re hoping to squeeze into this update.</p>



<div class="wp-block-group has-light-background-background-color has-background"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p><img alt="🎙" class="wp-smiley" src="https://s.w.org/images/core/emoji/15.1.0/72x72/1f399.png" style="height: 1em;" /> The latest episode <a href="https://gutenbergtimes.com/podcast/gutenberg-changelog-118-wordpress-new-ai-team-the-pride-photo-drive/">Gutenberg Changelog 118 – WordCamp Europe, WordPress New AI Team, the Pride Photo Drive, Gutenberg 20.9 and 21.0 </a> <strong>Anne McCarthy</strong> is back from sabbatical and we talked about WordCamp Europe, the new WordPress AI team, the Pride Photo Drive, and Gutenberg 20.9 and 21.0 . </p>



<p><em>If you are listing via Spotify, please leave a comment. If you listen via other podcast apps, please leave a review. It&#8217;ll help with the distribution.</em></p>



<figure class="wp-block-image size-full"><img alt="" class="wp-image-40687" height="185" src="https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/06/Screenshot-2025-06-14-at-08.28.08.png?resize=652%2C185&#038;ssl=1" width="652" /></figure>
</div></div>



<h2 class="wp-block-heading" id="0-p">Plugins, Themes, and Tools for #nocode site builders and owners</h2>



<p>In his post <a href="https://felix-arntz.me/blog/introducing-view-transitions-wordpress-plugin/"><strong>Introducing the View Transitions Plugin for WordPress</strong></a>, <strong>Felix Arntz <br /></strong>announced a new plugin that brings smooth, animated transitions between pages to WordPress sites. He explains that <a href="https://wordpress.org/plugins/view-transitions/">the plugin</a> uses the <a href="https://developer.mozilla.org/en-US/docs/Web/API/View_Transition_API">View Transitions API</a> to create seamless visual effects, making navigation feel more modern and app-like without the complexity of single-page applications. Arntz described how the plugin works out of the box, offers customization through both the WordPress admin and theme code, and supports various animation styles. The goal is to improve user experience and perceived performance with minimal setup.<strong> </strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p>In his latest video, <a href="https://www.youtube.com/watch?v=s9vt5skaTfw"><strong>The Secret to Client-Proof WordPress Sites</strong></a>, <strong>Wes Theron</strong> shows how to let clients safely update content while keeping a consistent design. He demonstrates using synced patterns with editable overrides. Global design changes to a pattern update all instances on the site. He explains how clients can modify specific elements without disrupting the layout. This method simplifies site management and maintains design integrity, making WordPress sites easier to manage and grow.</p>


<div class="wp-block-newsletterglue-showhide ng-block" width="100%">
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">

</div></figure>
</div>


<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p><br /><strong>Claire Brotherton</strong> reviewed the Twenty Twenty-Five WordPress theme, highlighting its flexibility and modern design.  Brotherton details its customizable templates, diverse style variations, and extensive block patterns, making it easy to create unique layouts. She notes the theme’s accessibility features, international typography options, and compatibility with the latest WordPress tools. The guide also covers practical tips for editing menus, headers, and footers, and encourages users to experiment with the theme’s many design possibilities. The post <a href="https://www.abrightclearweb.com/twenty-twenty-five-theme-the-ultimate-guide/"><strong>Twenty Twenty-Five Theme: the Ultimate Guide</strong></a> definitely lives up to its promise. </p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p><strong>Johanne Courtright</strong> <a href="https://groundworx.dev/blog/introducing-groundworx-navigation/"><strong>introduced the Groundworx Navigation plugin</strong></a>, a flexible, block-based navigation tool for WordPress. After years of building custom menus, she created this plugin to streamline features like accordions, slide-ins, sticky headers, and responsive toggles. Designed for Full Site Editing, it fits modern WordPress workflows and eliminates the need to rebuild navigation logic for each project, making advanced menu patterns easier for both developers and site owners. <a href="https://github.com/groundworx-dev/groundworx-navigation">Check it out from GitHub</a>. Once it goes through the approval process, it will also be available for download from the WordPress repository.</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p>In his post <a href="https://publishpress.com/blog/publishpress-blocks/find-all-gutenberg-blocks/"><strong>What&#8217;s the plan for PublishPress Blocks</strong></a>? <strong>Steve Burge</strong> mentions the new Block Usage Screen. It shows you any usage of blocks on your site or search for blocks. For example, it will show how many paragraph blocks you used throughout all blog posts. He also shows the new menu from within the plugin and lists six more features: control on who can use each block, additional blocks like accordion, galleries, tabs etc. I am excited about the feature to create my own Block Styles right from the interface without code. In the video on YouTube, Burge shows off how to  <a href="https://www.youtube.com/watch?v=ZMgZ3JiNl1Y&amp;t=16s">find your WordPress Blocks with the PublishPress Blocks Plugin</a>. </p>



<h2 class="wp-block-heading" id="2-word-press-6-0-1-and-6-1-scheduled">Theme Development for Full Site Editing and Blocks</h2>



<p>A common solution to make a sticky header is to wrap the template part in a group block and set the Position to &#8220;sticky&#8221;. <strong>Mike McAlister</strong> has more elegant solutions to  <a href="https://olliewp.com/fixing-the-sticky-header-bug-in-the-wordpress-site-editor/"><strong>Fixing the sticky header bug in the WordPress site editor</strong></a>. </p>



<p><strong>Hans-Gerd Gerhards</strong> has also tackled this problem with his plugin <strong><a href="https://wordpress.org/plugins/shrinking-logo-sticky-header/">Dynamic Header &amp; Navigation for Block Themes</a></strong>, that also, among a few other things, it gives you settings to shrink the header on scroll, so it doesn&#8217;t take up too much real-estate. </p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p><br />In her post, <strong><a href="https://www.askdesign.biz/blog/2025/06/layout-and-design-with-the-grid-block/">Layout and Design with the Grid Block</a>,</strong> <strong>Anne Katzeff</strong> explains how the grid block can help make web pages look cleaner and more organized. She gives simple advice for setting up columns, spacing, and alignment, and encourages people to play around with different layouts to find what looks and works best. It might just be the manual you have been looking for. </p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />


<section class="wp-block-newsletterglue-callout undefined not-color-set" style="border-color: #f9f9e5; border-radius: 22px; border-style: solid; border-width: 0; padding-top: 20px; padding-bottom: 20px; padding-left: 20px; padding-right: 20px; text-align: left; margin-left: 0; margin-right: 0; margin-top: 0px; margin-bottom: 0px; background-color: #f9f9e5;">
<p><strong> <a href="https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/" rel="noreferrer noopener" target="_blank">&#8220;Keeping up with Gutenberg &#8211; Index 2025&#8221;</a> </strong><br />A chronological list of the WordPress Make Blog posts from various teams involved in Gutenberg development: Design, Theme Review Team, Core Editor, Core JS, Core CSS, Test, and Meta team from Jan. 2024 on. Updated by yours truly. The previous years are also available: <strong><strong><a href="https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2020/">2020</a> | <a href="https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2021/">2021</a></strong> | <strong><a href="https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2022/">2022</a></strong></strong> | <strong><a href="https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/gutenberg-index-2023">2023</a></strong> | <a href="https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/gutenberg-index-2024/"><strong>2024</strong></a></p>
</section>


<h2 class="wp-block-heading" id="3-building-themes-for-fse-and-word-press">Building Blocks and Tools for the Block editor</h2>



<p>In this high-level post, <a href="https://wp.gallery/themes/wordpress-block-theme/" rel="noreferrer noopener" target="_blank"></a><a href="https://wp.gallery/wordpress-interactivity-api/" rel="noreferrer noopener" target="_blank"><strong>15 WordPress Interactivity API examples &#8211; WP Gallery</strong></a><br />Diane Collet, co-founder of Twentig and WP Gallery, explains how the new WordPress Interactivity API empowers developers to create dynamic, interactive front-end experiences without relying on heavy JavaScript frameworks. She highlights how the API enables seamless, reactive user interfaces directly within WordPress blocks, making it easier to build features like live search, filters, and instant feedback. Collet emphasizes the API’s simplicity, performance benefits, and its alignment with WordPress’s vision for a more interactive and modern web, encouraging developers to explore its capabilities for enhancing user engagement. </p>



<p>To get started with the Interactivity API, you can work through this list of resources:</p>



<ul class="wp-block-list">
<li><a href="https://wordpress.tv/2025/06/07/wordpress-gems-for-devs-interactivity-api-2/">WordPress Gems around the Interactivity API</a> (Workshop recording) </li>



<li><a href="https://developer.wordpress.org/news/2024/04/a-first-look-at-the-interactivity-api/">A first look at the Interactivity API</a> </li>



<li><a href="https://developer.wordpress.org/news/2024/02/an-introduction-to-block-based-mega-menus/">An introduction to block-based mega menus</a></li>



<li><a href="https://developer.wordpress.org/block-editor/reference-guides/packages/packages-interactivity/packages-interactivity-api-reference/#list-of-directives" rel="noreferrer noopener" target="_blank">Interactivity API Reference</a> </li>



<li><a href="https://github.com/WordPress/gutenberg/discussions/55642">Interactivity API showcase</a></li>



<li><a href="https://www.youtube.com/watch?v=ndW-Kz0iDdY&amp;list=PL1pJFUVKQ7ETApyQQlt3pLNjPx2HrQwl5&amp;index=18">Developer Hours: Building custom blocks in WordPress with the Interactivity API</a></li>



<li><a href="https://www.youtube.com/watch?v=Sl6nqGN8YVQ&amp;list=PL1pJFUVKQ7ETApyQQlt3pLNjPx2HrQwl5&amp;index=19">Developer Hours: Exploring the Interactivity API in WordPress 6.5</a></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p><strong>JuanMa Garrido </strong>was inspired by Igor Benić&#8217;s <a href="https://wpchallenges.beehiiv.com/.">list of <strong>WordPress challenges</strong></a>. In his live stream he ventured to solve some of them. <a href="https://www.youtube.com/watch?v=DgB5M5ameUs">The recording is on YouTube</a>. The first challenge was: <em>Create a block that fetches and displays posts from a specific category dynamically (using ServerSideRender component).</em></p>


<div class="wp-block-newsletterglue-showhide ng-block" width="100%">
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">

</div></figure>
</div>


<p><strong>In his live stream<a href="https://www.youtube.com/watch?v=ABfMFB5s_TA">, WCEU workshop code along</a></strong>, <strong>Ryan Welcher</strong> followed Bero&#8217;s WCEU workshop on setting up automatic testing with Playwright and Playground. </p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />


<div class="wp-block-newsletterglue-showhide ng-block" width="100%">
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">

</div></figure>
</div>


<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p>This week, <strong>Jonathan Bossenger</strong> updates us about <strong><a href="https://www.youtube.com/watch?v=_q-1aGvHfqo">WordPress MCP &amp; Feature API</a> </strong>on his live stream. </p>


<div class="wp-block-newsletterglue-showhide ng-block" width="100%">
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">

</div></figure>
</div>


<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />


<section class="wp-block-newsletterglue-callout undefined not-color-set" style="border-color: #eeeeee; border-radius: 26px; border-style: solid; border-width: 0; padding-top: 20px; padding-bottom: 20px; padding-left: 20px; padding-right: 20px; text-align: left; margin-left: 0; margin-right: 0; margin-top: 0px; margin-bottom: 0px; background-color: #f3efe9;">
<p><strong><a href="https://gutenbergtimes.com/need-a-zip-from-master/">Need a plugin .zip from Gutenberg&#8217;s master branch?</a></strong><br />Gutenberg Times provides daily build for testing and review. </p>



<p>Now also available via <a href="https://playground.wordpress.net/?blueprint-url=https://gutenbergtimes.com/wp-content/uploads/2020/11/playnightly.json">WordPress Playground</a>. There is no need for a test site locally or on a server. Have you been using it? <a href="mailto:pauli@gutenbergtimes.com">Email me </a>with your experience</p>



<p><img alt="GitHub all releases" src="https://img.shields.io/github/downloads/bph/gutenberg/total?style=for-the-badge" /></p>
</section>


<p class="has-text-align-center has-small-font-size"><em>Questions? Suggestions? Ideas? </em><br /><em>Don&#8217;t hesitate to send <a href="mailto:pauli@gutenbergtimes.com">them via email</a> or</em><br /><em> send me a message on WordPress Slack or Twitter @bph</em>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity" />



<p class="has-text-align-center has-small-font-size">For questions to be answered on the <a href="http://gutenbergtimes.com/podcast">Gutenberg Changelog</a>, <br />send them to <a href="mailto:changelog@gutenbergtimes.com">changelog@gutenbergtimes.com</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />


<section class="wp-block-newsletterglue-group" style="padding-top: 10px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px; margin-top: 0px; margin-bottom: 0px;">
<p>Featured Image: Photo by Polesie Toys on Pexel</p>



<hr class="wp-block-separator has-css-opacity is-style-wide" />



<p class="has-text-align-left"><strong>Don&#8217;t want to miss the next Weekend Edition? </strong></p>


<form action="https://gutenbergtimes.com/feed/" autocomplete="on" class="wp-block-newsletterglue-form ngl-form ngl-portrait" method="post"><div class="ngl-form-container"><div class="ngl-form-field" style="margin-bottom: 25px;"><label class="ngl-form-label" for="ngl_email"><br />Type in your Email address to subscribe.</label><div class="ngl-form-input"><input autocomplete="email" class="ngl-form-input-text" id="ngl_email" name="ngl_email" required="required" style="border-radius: 21px;" type="email" /></div></div><button class="ngl-form-button" style="background-color: #005075; border-color: #005075; border-width: 1px; border-style: solid; color: #ffffff; border-radius: 21px;" type="submit">Subscribe</button><p class="ngl-form-text">We hate spam, too, and won&#8217;t give your email address to anyone <br />except Mailchimp to send out our Weekend Edition</p></div><div class="ngl-message-overlay"><div class="ngl-message-svg-wrap"><svg fill="none" height="24" stroke="#fff" stroke-width="2" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><polyline points="20 6 9 17 4 12"></polyline></svg></div><div class="ngl-message-overlay-text">Thanks for subscribing.</div></div><input id="ngl_list_id" name="ngl_list_id" type="hidden" value="26f81bd8ae" /><input id="ngl_double_optin" name="ngl_double_optin" type="hidden" value="yes" /></form>


<hr class="wp-block-separator has-css-opacity is-style-wide" />
</section>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 21 Jun 2025 00:40:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:18:"Birgit Pauli-Haack";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:36;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:65:"Gravatar: How to Build Trust Online With Professional Credibility";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"http://blog.gravatar.com/?p=3280";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:59:"https://blog.gravatar.com/2025/06/20/building-trust-online/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:17008:"<p>Here’s the deal: Every time you pop up online with a different headshot, a tweaked job title, or a bio that sounds like it was written by three different people on three different days, you’re not just being quirky. You’re quietly <em>chipping away</em> at your credibility.</p>



<p>Those little inconsistencies create one big problem: Cognitive friction. And cognitive friction = second-guessing. Not ideal when you’re trying to win hearts, minds, or contracts.</p>



<p>Unlike the good old days of handshakes and conference rooms, building trust online isn’t natural or automatic. It’s something you have to <em>design</em> carefully, deliberately, across every touchpoint where your name shows up.</p>



<p>And if you’re new to the game without a reputation to fall back on? The stakes are even higher. </p>



<p>But here’s the good news: Trust is buildable – and way more under your control than you think.</p>



<p>In this guide, you’ll learn how to: </p>



<ul class="wp-block-list">
<li>centralize your online identity so you look polished and cohesive everywhere.</li>



<li>use social proof like a pro to boost instant credibility.</li>



<li>communicate authentically without feeling like you’re &#8220;branding&#8221; yourself to death.</li>
</ul>



<p>By the time we&#8217;re done, you&#8217;ll know exactly how to build a digital presence that feels genuine, trustworthy, and ready to convert curious visitors into loyal fans, wherever they find you.</p>



<h2 class="wp-block-heading">Why professional credibility isn’t just “nice to have” anymore</h2>



<p>Thinking professional credibility online is just about having a typo-free website and a decent logo is like saying a handshake is only about touching another person’s hand. Important, yes – but nowhere near the full story.</p>



<p>Today, trust online demands way more than surface polish. It’s about creating a <em>coherent, recognizable presence</em> that follows you everywhere your audience might stumble across you.</p>



<p>A <a href="https://eujournal.org/index.php/esj/article/view/17729">January 2024 study</a> from the Digital Identity Institute nailed it down to four essentials:</p>



<ul class="wp-block-list">
<li>Your <strong>identifiers</strong> (name, handle, URL).</li>



<li>Your <strong>content</strong> (what you post and share).</li>



<li>Your <strong>profile photos</strong> (how you visually show up).</li>



<li>Your <strong>personal images</strong> (those behind-the-scenes moments that humanize you).</li>
</ul>



<p>Get these aligned? You’re golden. Mix them up? You undermine the very trust and credibility you’re aiming for.</p>



<p>Every time someone jumps from your Twitter to your LinkedIn to your personal blog and spots a disconnect, a little voice whispers: <em>&#8220;Wait, is this even the same person?&#8221;</em></p>



<p>Cue doubt. Cue hesitation. Cue lost opportunity.</p>



<p>And just a heads-up: Your digital reputation isn’t <em>just</em> about what you put out there. It’s also:</p>



<ul class="wp-block-list">
<li>What people say about you on review sites.</li>



<li>How (and whether) you respond to comments.</li>



<li>Where your name pops up in industry chatter.</li>



<li>Those forgotten forum posts from 2018 (yes, even the cringey ones).</li>
</ul>



<p>For newcomers, this can feel wildly overwhelming. But don’t panic – there’s a system for building trust that works whether you’re a total newbie or a seasoned pro.</p>



<p>And it all starts with something deceptively simple: Making it <em>crystal clear</em> that it’s actually <em>you</em>, wherever you show up.</p>



<p>Let’s dig into how to make that happen.</p>



<h2 class="wp-block-heading">Establishing your verified identity online</h2>



<p>Let’s talk about the sneaky tax no one warns you about: <strong>Digital fragmentation</strong>. </p>



<p>Every time you spin up a new <a href="https://github.com/">GitHub</a> profile, tweak your <a href="https://wordpress.com/">WordPress.com</a> bio, or casually update your <a href="https://slack.com/">Slack</a> status, you’re basically creating another branch of your professional identity.</p>



<p>Each one demands attention; otherwise, it leaves behind tiny cracks in your credibility that clients will notice (even if they don’t realize it).</p>



<p>Trust is built silently through strategic verification signals. Things like:</p>



<ul class="wp-block-list">
<li><strong>Verified email domains:</strong> Yourname@yourcompany.com trumps hotmaillegend1995@gmail.com (every time).</li>



<li><strong>Consistent usernames:</strong> When &#8220;jane-smith-designer&#8221; shows up everywhere, recognition is effortless.</li>



<li><strong>Linked professional accounts:</strong> Connecting your LinkedIn, Twitter, and portfolio into a neat trust web.</li>



<li><strong>Visual continuity:</strong> That profile photo is important, it’s a visual anchor that screams &#8220;yep, this is me&#8221;.</li>
</ul>



<p>But the brutal truth is that keeping it all polished and synced can feel like a part-time job. And the longer you’re online, the more ancient breadcrumbs (and outdated bios) you scatter across the internet like digital confetti.</p>



<p><strong>Enter Gravatar.</strong></p>



<p>Instead of <em>another</em> profile to manage, <a href="https://gravatar.com/">Gravatar is the solution</a> <em>to</em> profile management by connecting your professional identity to something you already use everywhere: Your email address.</p>



<p>Gravatar becomes your single source of truth, rippling updated credibility across the web with zero extra work.</p>



<h3 class="wp-block-heading"><strong>How Gravatar keeps your digital identity (and sanity) intact</strong></h3>



<p>Gravatar’s magic trick is simple but game-changing: <strong>Update once. Sync everywhere</strong></p>



<p>Here’s how it works:</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-large"><img alt="Gravatar profile example" class="wp-image-3282" height="774" src="https://blog.gravatar.com/wp-content/uploads/2025/05/gravatar-profile.png?w=660" width="660" /></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<ol class="wp-block-list">
<li>You sign up once using your email address.</li>



<li>Gravatar then pushes your profile info – your headshot, your bio, your portfolio links – across any platform that has Gravatar integrated.</li>



<li>Instantly recognizable. No manual updates. No weird gaps.</li>
</ol>
</div>
</div>



<div class="wp-block-spacer" style="height: 20px;"></div>



<figure class="wp-block-image size-full"><a href="https://gravatar.com/connect/?gravatar_from=blog"><img alt="" class="wp-image-2616" height="729" src="https://blog.gravatar.com/wp-content/uploads/2024/12/free_profile_cta.png" width="3243" /></a></figure>



<p>Gravatar plugs into heavy-hitters like:</p>



<ul class="wp-block-list">
<li><a href="https://wordpress.org/"><strong>WordPress</strong></a> (hello, <a href="https://en-gb.wordpress.org/about/features/">43% of the internet</a>)</li>



<li><a href="https://github.com/"><strong>GitHub</strong></a> (where devs prove their chops)</li>



<li><a href="https://slack.com/"><strong>Slack</strong></a> (where teams live)</li>



<li><a href="https://openai.com/"><strong>OpenAI</strong></a> (yep, even the AI world knows your face)</li>



<li><a href="https://www.atlassian.com/"><strong>Atlassian</strong></a><strong>, </strong><a href="https://www.figma.com/"><strong>Figma</strong></a><strong>, </strong><a href="https://mailchimp.com/"><strong>Mailchimp</strong></a><strong>, </strong><a href="https://stackoverflow.com/"><strong>Stack Overflow</strong></a><strong>, </strong><a href="https://www.coinbase.com/"><strong>Coinbase</strong></a> – and the list keeps growing</li>
</ul>



<p>It’s like a <a href="https://blog.gravatar.com/2024/11/08/creating-a-digital-business-card/">digital business card</a>, but one that updates itself, multiplies itself, and hands itself out for you.</p>



<p>When you update your Gravatar, you’re refreshing your professional image across a whole ecosystem without lifting another finger.</p>



<p>And even on platforms that don’t plug directly into Gravatar (looking at you, X and Instagram), your Gravatar profile still works as a rock-solid <a href="https://blog.gravatar.com/2024/04/12/maximize-your-instagram-bio-the-top-tools-to-consider/">bio link</a> destination. A central hub that confirms, &#8220;Yes, I’m legit.&#8221;</p>



<p>Let’s get into how to set it up.</p>



<h2 class="wp-block-heading">How to showcase expertise that actually converts (not just impresses)</h2>



<p>Having a verified, consistent digital identity is a great first step. But if you want to turn casual visitors into paying clients, you need more than legitimacy. You need to <em>flex</em> your expertise in ways that actually move people to act.</p>



<p>Here’s the difference between professionals who quietly exist online and those who consistently <a href="https://www.business.com/articles/9-steps-to-lead-conversion-success/">rack up conversions</a>: They don’t just <em>say</em> they’re good. They <em>prove</em> it – strategically.</p>



<p>Here’s how to build serious trust <em>and</em> trigger buying decisions at the same time:</p>



<h3 class="wp-block-heading"><strong>Content that builds (and measures) trust</strong></h3>



<p>Not all content earns trust equally. Here are the formats that drive the biggest trust-to-conversion ROI:</p>



<ul class="wp-block-list">
<li><strong>Case studies with real results:</strong> Proving you&#8217;ve solved <em>this exact problem</em> before removes the risk for new clients.</li>



<li><strong>Original research with downloadable assets:</strong> Publishing fresh findings no one else has? Authority unlocked (not to mention backlinks).</li>



<li><strong>Video demonstrations:</strong> Watching you in action builds confidence <em>fast</em>.</li>



<li><strong>Step-by-step tutorials:</strong> Breaking down complex processes shows mastery <em>and</em> your ability to guide others.</li>
</ul>



<h3 class="wp-block-heading"><strong>Credentials that appear </strong><strong><em>exactly</em></strong><strong> where they matter</strong></h3>



<p><em>Having</em> credentials is great, but <em>placing</em> them where they crush doubt is the difference.</p>



<ul class="wp-block-list">
<li><strong>Certification logos</strong> near pricing tables instantly calm “Is this worth it?” nerves.</li>



<li><strong>Industry awards</strong> on service pages make your premium offer feel like a no-brainer.</li>



<li><strong>Testimonials</strong> right beside CTA buttons? Ideal for that final, reassuring nudge.</li>
</ul>



<h3 class="wp-block-heading"><strong>Thought leadership that stands out (not blends in)</strong></h3>



<p>Vanilla expertise doesn’t convert. You need a clear, memorable POV that plants your flag.</p>



<ul class="wp-block-list">
<li><strong>Challenge industry norms</strong> (backed by real evidence, not just hot takes).</li>



<li><strong>Create your own frameworks</strong> that only <em>you</em> offer.</li>



<li><strong>Take thoughtful stands</strong> on key industry debates (without turning your audience into enemies).</li>
</ul>



<h3 class="wp-block-heading"><strong>Trusted platforms that amplify your expertise</strong></h3>



<p>Sometimes it’s not just what you say – it’s <em>where</em> you say it. That’s why Gravatar’s integrations create trust-by-proxy opportunities you can’t buy:</p>



<ul class="wp-block-list">
<li><strong>WordPress comments:</strong> Your verified Gravatar shows up and instantly builds recognition.</li>



<li><strong>GitHub contributions:</strong> Your Gravatar profile signals serious technical chops.</li>



<li><strong>Slack communities:</strong> Your Gravatar credentials put you right inside trusted expert circles.</li>
</ul>



<p>Stack these strategies, and not only are you building a reputation, you’re removing every obstacle between curiosity and conversion. When prospects can instantly answer both <em>&#8220;Can they help me?&#8221;</em> and <em>&#8220;Can I trust them?&#8221;</em>, signing on becomes the obvious next step.</p>



<p>Let’s move on to putting all of this into action.</p>



<h2 class="wp-block-heading">Building trust through authentic communication</h2>



<p>A fascinating <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC6961857/">2020 University of Missouri study</a> found that <em>sharing the story behind why you do what you do</em> skyrockets your perceived authenticity.</p>



<p>Turns out, people don’t just trust the expert with the most credentials. They trust the expert who lets them in on <em>why it matters</em> to them <em>personally</em>.</p>



<p>In other words, explaining why you <em>care</em> can be just as powerful as proving you’re <em>qualified</em>.</p>



<p>This research shatters the old-school myth that professional communication should stay cold, detached, and full of corporate buzzwords. Storytelling – real, personal, first-person storytelling – builds deeper trust than any third-person “Our team is passionate about solutions” fluff ever could.</p>



<p>Here’s what that looks like in action:</p>



<ul class="wp-block-list">
<li>&#8220;I built this workflow after nearly burning out during my first agency job.&#8221; is more effective than &#8220;Our optimized workflow increases efficiency by 27%.”<br /></li>



<li>&#8220;The software crashed on me three times before I figured out this workaround.&#8221; will win people over above &#8220;Our team has extensive troubleshooting experience.&#8221;</li>
</ul>



<p>See the difference? One makes you nod and feel something. The other makes you… skim.</p>



<h3 class="wp-block-heading"><strong>How Gravatar supercharges your authenticity</strong></h3>



<p><a href="https://gravatar.com/">Gravatar</a> is your secret weapon for broadcasting authenticity everywhere you show up. </p>



<p>Inside your Gravatar profile, you’ve got space to tell the story:</p>



<ul class="wp-block-list">
<li>The hurdles you’ve faced.</li>



<li>The experiences that shaped your expertise.</li>



<li>The <em>real reasons</em> behind what you do.</li>
</ul>



<p>And the beauty of this is you only have to do it once. Gravatar pushes that authentic narrative across every platform where your profile appears – so you’re building trust <em>automatically</em> without tailoring a new story for every single site.</p>



<p>When you combine that authenticity signal with your hard-earned credentials, you create a full, irresistible trust picture: Qualified. Relatable. Human.</p>



<p>Exactly what today’s clients are looking for. </p>



<h2 class="wp-block-heading">Create your Gravatar profile today and start boosting your professional credibility</h2>



<p>If there’s one thing this guide has made crystal clear, it’s that <strong>consistency = credibility</strong>.</p>



<p>When potential clients see the <em>same</em> professional presence across every platform, their trust barriers don’t just lower; they practically melt away.</p>



<p>And that trust is what turns casual browsers into paying customers.</p>



<p><a href="https://gravatar.com/">Gravatar</a> solves the messy fragmentation that trips up even the savviest digital pros. Instead of chasing down a dozen outdated bios and rogue headshots, Gravatar syncs your professional image, links, and story across <em>hundreds </em>of platforms automatically.</p>



<p>One update. Endless consistency. Zero stress.</p>



<p>And it’s not just a time-saver. It’s a <em>trust amplifier </em>that strengthens everything you’ve worked to build. As we’ve seen, Gravatar:</p>



<ul class="wp-block-list">
<li><strong>Anchors</strong> your visual identity wherever you show up</li>



<li><strong>Connects</strong> people directly to your best case studies, thought leadership, and portfolio</li>



<li><strong>Tells</strong> your authentic professional story, not just your title</li>



<li><strong>Reinforces</strong> every layer of social proof you’ve earned</li>
</ul>



<p>And the best part? Setting up your Gravatar profile takes <em>five minutes, </em>so <a href="https://gravatar.com/">create your free Gravatar profile today</a> and start turning trust into conversions.</p>



<figure class="wp-block-image size-full"><a href="https://gravatar.com/connect/?gravatar_from=blog"><img alt="" class="wp-image-2616" height="729" src="https://blog.gravatar.com/wp-content/uploads/2024/12/free_profile_cta.png" width="3243" /></a></figure>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 20 Jun 2025 17:38:25 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:11:"Ronnie Burt";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:37;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:84:"Open Channels FM: Transparency, Community, and the Human Touch When Selling Products";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"https://openchannels.fm/?p=99083";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:86:"https://openchannels.fm/transparency-community-and-the-human-touch-with-miriam-schwab/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:222:"In this episode of "Woo Product Chat," co-hosts James and Katie chat with Miriam Schwab from Elementor about transparency in software, community engagement, and the balance of openness while navigating business strategies.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 20 Jun 2025 09:56:48 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:38;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:65:"Open Channels FM: The Value of Starting Over in the Tech Industry";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:47:"https://openchannels.fm/?post_type=blog&p=97478";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:72:"https://openchannels.fm/the-value-of-starting-over-in-the-tech-industry/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:151:"A journey shows that success isn't a straight path. Embrace resilience, self-reflection, and the courage to reinvent yourself in a changing tech world.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 20 Jun 2025 08:28:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"BobWP";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:39;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:84:"WordPress.org blog: Dropping security updates for WordPress versions 4.1 through 4.6";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:35:"https://wordpress.org/news/?p=18872";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:100:"https://wordpress.org/news/2025/06/dropping-security-updates-for-wordpress-versions-4-1-through-4-6/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1781:"<p>As of July 2025, the WordPress Security Team will no longer provide security updates for WordPress versions 4.1 through 4.6.</p>



<p>These versions were first released nine or more years ago and over 99% of WordPress installations run a more recent version. The chances this will affect your site, or sites, is very small.</p>



<p>If you are unsure if you are running an up-to-date version of WordPress, please log in to your site’s dashboard. Out of date versions will display a notice that looks like this:</p>



<figure class="wp-block-image size-full has-custom-border"><img alt="Dashboard notice: &quot;WordPress 6.8.1 is available! Please update now.&quot;" class="has-border-color has-luminous-vivid-amber-border-color wp-image-18873" height="122" src="https://i0.wp.com/wordpress.org/news/files/2022/09/WordPress-681-update-notice.png?resize=1048%2C122&#038;ssl=1" width="1048" /></figure>



<p>The version you are running is displayed in the bottom of the “At a Glance” section of the dashboard.</p>



<figure class="wp-block-image size-large has-custom-border"><img alt="At a glance widget showing a site running WordPress 4.1.41" class="has-border-color has-cyan-bluish-gray-border-color wp-image-18875" height="281" src="https://i0.wp.com/wordpress.org/news/files/2022/09/at-a-glance-wp-4141.png?resize=1024%2C281&#038;ssl=1" width="1024" /></figure>



<p>As a reminder, the only <em>actively</em> supported version of WordPress is the most recent one. Security updates are only backported to older branches as a courtesy.</p>



<p>The Make WordPress Security blog has further details about <a href="https://make.wordpress.org/security/2025/06/18/security-updates-will-cease-for-wordpress-versions-4-1-through-4-6/">the process to end support</a>.</p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 19 Jun 2025 15:26:06 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:15:"John Blackbourn";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:40;a:6:{s:4:"data";s:21:"
	
	
	
	
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:89:"Felix Arntz: Migrating Your JavaScript Codebase to TypeScript with Cline &amp;amp; Gemini";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:30:"https://felix-arntz.me/?p=2141";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:85:"https://felix-arntz.me/blog/migrating-javascript-codebase-to-typescript-cline-gemini/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:16985:"<p>I recently undertook a significant project: migrating the entire JavaScript codebase of my<a href="https://wordpress.org/plugins/ai-services/"> AI Services plugin for WordPress</a> (<a href="https://github.com/felixarntz/ai-services">GitHub repository</a>) to TypeScript.</p>



<p>Why is that significant?</p>



<ul class="wp-block-list">
<li>We&#8217;re talking about over 80 JavaScript files, so it’s by no means a small project. Not gigantic like e.g. Gutenberg, but certainly a substantial amount of code.</li>



<li>Additionally, that JavaScript code is powering a plugin with a fairly unique feature set. This uniqueness often makes it harder for Large Language Models (LLMs) to assist, as there&#8217;s likely less similar code in their training data.</li>
</ul>



<p>The process taught me a lot about the synergy between a well-structured codebase and LLMs. It also strengthened my belief that, while an LLM isn&#8217;t magically going to solve complex development tasks for you, it can be a massive productivity booster when you prepare your project and guide it effectively.</p>



<p>This post will walk you through how I used Cline in VS Code together with Google&#8217;s Gemini models to get it done efficiently and why I think this migration was worthwhile.</p>



<span id="more-2141"></span>



<h2 class="wp-block-heading">Why Bother with TypeScript? (Hint: LLMs Love Structure)</h2>



<p>If you&#8217;re a developer who hasn&#8217;t yet embraced TypeScript, I get the hesitation. You might be annoyed by the seemingly verbose syntax, or perhaps you&#8217;ve heard that it slows down development. Let&#8217;s address those points.</p>



<p>The idea that TypeScript slows you down couldn&#8217;t be further from the truth in the long run. Using TypeScript allows you to ship safer code by preventing many potential bugs during development that plain JavaScript would miss. This makes complex projects easier to understand and ultimately faster to iterate on. The only scenario where TypeScript might genuinely get in the way is with quick prototypes, especially when dealing with dependencies that aren&#8217;t typed. I&#8217;d argue this is the only case where sticking with plain JavaScript is more reasonable today.</p>



<p>And if you&#8217;re turned away by the syntax? Don&#8217;t worry, I definitely was in the same boat myself. But after writing about five TypeScript files, I found it started to feel very natural.</p>



<p>Beyond the general benefits, there&#8217;s a modern, compelling reason to adopt it: <strong>TypeScript provides structure, and LLMs thrive on structure.</strong> By providing the clear, explicit types of TypeScript, you give the LLM a much more detailed and unambiguous map of your codebase. This helps it understand context and your intent, leading to far more accurate and helpful suggestions.</p>



<p>A few weeks ago, I posted on social media: “Learn TypeScript deeply.” And I truly think you should.</p>



<div class="linkedin-embed"></div>



<h2 class="wp-block-heading">My Migration Strategy: A Human-in-the-Loop Approach</h2>



<p>My goal wasn&#8217;t to have an LLM do all the work, but to have it act as a super-powered assistant. I used<a href="https://cline.bot/"> Cline</a> in VS Code, primarily with the Gemini 2.5 Pro model via the <a href="https://ai.google.dev/api">Gemini API</a>. I&#8217;m a fan of Cline because of its customizability and its &#8220;Plan&#8221; vs. &#8220;Act&#8221; modes, through which you can force the model to collaborate with you on defining the approach before writing any code.</p>



<p>Here&#8217;s the step-by-step process I followed.</p>



<h3 class="wp-block-heading">Step 1: Laying the Groundwork</h3>



<p>Before letting the LLM loose, some manual preparation is essential.</p>



<ol class="wp-block-list">
<li><strong>Start with the Most Foundational Package:</strong> My plugin consists of several JavaScript packages. I began with the package that had no dependencies on the others. It’s crucial to migrate packages in order of their dependency graph.</li>



<li><strong>Define Core Types Manually:</strong> This is the most critical manual step. I went through the foundational package and defined the core TypeScript types myself, e.g., in a types.ts file at the root of the package. While an LLM can sometimes help, doing this manually ensures accuracy and aligns the data structures perfectly with my intent.</li>



<li><strong>Migrate a Few Files Yourself:</strong> I manually migrated 3-5 files to TypeScript. This served two purposes. First, it created &#8220;perfect&#8221; examples of my desired coding patterns—including code style, JSDoc comments, and variable naming. Second, it helped me get reacquainted with TypeScript within the specific context of this project.</li>
</ol>



<h3 class="wp-block-heading">Step 2: Defining the Workflow (and Relevant Rules)</h3>



<p>To ensure consistency, I leveraged two key features: custom rules and reusable workflows.</p>



<p>First, I established <strong>custom rules</strong> that define the TypeScript coding standards for the project. This helps the LLM generate code that is consistent with my best practices. This concept is supported by many AI code assistants, including Cline. As an example, you can see the<a href="https://github.com/felixarntz/ai-services/blob/main/.clinerules/coding-standards.md"> coding standards I defined for the AI Services plugin here</a>.</p>



<p>Next, I created a reusable prompt, which Cline calls a &#8220;workflow.&#8221; This saves me from re-typing a complex prompt for every single file. Here is the workflow I created, saved as <code><a href="https://github.com/felixarntz/ai-services/blob/main/.clinerules/workflows/migrate-typescript.md">migrate-typescript.md</a></code>:</p>


<pre class="wp-block-code alignwide"><span><code class="hljs language-markdown shcb-wrap-lines">You need to migrate specific JavaScript files to be valid TypeScript.

Concretely, you need to migrate the JavaScript code in <span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">file</span>&gt;</span></span> to TypeScript. There are three possible scenarios:
<span class="hljs-bullet">
- </span>If the file is already using the extension <span class="hljs-code">`.ts`</span> or <span class="hljs-code">`.tsx`</span>, it may have already been renamed from <span class="hljs-code">`.js`</span>. You MUST make the changes to migrate the code to TypeScript directly within the file.
<span class="hljs-bullet">- </span>Otherwise, if the file is using the extension <span class="hljs-code">`.js`</span> and it contains React components (JSX), you must create a new file of the same name but with the <span class="hljs-code">`.tsx`</span> extension and write the code migrated to TypeScript in there.
<span class="hljs-bullet">- </span>Otherwise, if the file is using the extension <span class="hljs-code">`.js`</span> and it does not contain any JSX, you must create a new file of the same name but with the <span class="hljs-code">`.ts`</span> extension and write the code migrated to TypeScript in there.

First, use the <span class="hljs-code">`read_file`</span> tool to collect sufficient relevant context. Some of the files the user may have already provided to you. In that case, DO NOT READ THEM AGAIN.
<span class="hljs-bullet">
- </span>Search for <span class="hljs-code">`tsconfig.json`</span>, <span class="hljs-code">`.eslintrc.json`</span>, and <span class="hljs-code">`.eslintrc.js`</span> files in the project root directory. Read all of them that you find, to know which TypeScript and TSDoc configuration requirements the migrated TypeScript code must follow.
<span class="hljs-bullet">- </span>Search the current directory and any parent directories <span class="hljs-emphasis">_within_</span> the project for <span class="hljs-code">`types.ts`</span> files. You MUST read all of these files to understand the project-specific types.
<span class="hljs-bullet">- </span>Look for other TypeScript files in the same directory or a sibling directory. Read 1-3 files to learn about the project-specific TypeScript conventions and best practices, e.g. regarding specific type imports, code style, documentation, or file structure.
<span class="hljs-bullet">    - </span>If you are writing a <span class="hljs-code">`.ts`</span> file, you must ONLY consider existing <span class="hljs-code">`.ts`</span> files for this contextual research.
<span class="hljs-bullet">    - </span>If you are writing a <span class="hljs-code">`.tsx`</span> file, you must ONLY consider existing <span class="hljs-code">`.tsx`</span> files for this contextual research.

