Tag: WordCamp

  • WordCamp Canada 2025 conference talk

    WordCamp Canada 2025 conference talk

    I’m thrilled to share how the Shipping WordPress Without Shipping Code talk went at WordCamp Canada 2025 (aka “WCEH”; get it WC, eh?).  For folks who couldn’t attend, here’s a summary of what we covered, insights from the audience, and next steps you can try yourself.

    If you’d rather watch than read, here’s the full WordCamp Canada 2025 talk:

    In the talk I walked my own path, from helper to release deputy to AI team lead, all without ever having commit access.  Along the way I shared how non-developer roles often get overlooked, practical patterns I’ve used to keep releases moving, and encouragement for designers, strategists, writers, or project leads who want to jump into this space.  Here’s how the session unfolded, with some highlights and sample quotes.

    A close up of a sign

    Opening & Framing

    I started by confronting the myth that only engineers lead in open source.  My aim was to shift perspectives: YOU can lead, even if your strengths lie outside code.

    The Historical Gap

    We talked about how WordPress projects have historically lacked project and product management support, and how that gap creates friction.  I quoted from the WordPress release handbook:

    “The main focus of the release team is to lead the release from its beginning through to launch … to act as connectors and facilitators.”

    It resonated: many in the audience nodded when I called out that non-developer contributions are often invisible or undervalued.

    My Journey

    I shared my own timeline: involvement in WordPress 4.7, then 4.8, 4.9, 5.8, 6.1, and 6.8.  I also noted that WordPress 4.7 had 482 contributors, including 205 first-timers, to emphasize how major release cycles need more scaffolding than code alone in order to support that many new contributors.

    What “Glue Work” Looks Like

    This was a core section of my talk.  We broke down how “glue work” such as triage, alignment, decision logging, and volunteer motivation is the connective tissue in a release.  I used the quote:

    “Triage is the practice of reviewing existing issues to be sure they are relevant and actionable.”

    And I referenced how Apache PMC members and Kubernetes maintain non-coding roles, showing that this isn’t just WordPress-specific but a pattern in mature open source communities.

    Tools, Patterns, & Gotchas

    Here, the audience got actionable advice. Some highlights:

    • Use GitHub issues and projects with clear labels (needs-decision, punt, etc.)
    • Maintain decision logs so the same debates don’t repeat
    • Establish scope gates (feature freeze, RC readiness) to protect the release timeline (go/no go decisions)
    • Beware burnout and invisible labor

    I referenced Karl Fogel’s Producing Open Source Software from my notes in a recent WordPress Book Club hosted by Aaron Jorbin roughly as ~“If it’s not written down, it didn’t happen.” And Nadia Eghbal’s note that “Maintainers simply don’t have the energy to onboard every person who shows passing interest.”

    From Contributor to Leader

    We laid out a three-step path:

    1. Start small: take notes, triage, run a meeting agenda.
    2. Own a lane: coordinate docs, dev notes, or release notes.
    3. Lead a release: coordinate across teams, make decisions, facilitate.

    I also referenced the Kubernetes “leads and shadows” model as something WordPress could use to mentor future contributors.

    Practical Playbook

    Seven habits you can take into your own contributor journey:

    1. Write the agenda, end on time
    2. Keep a decision log
    3. Guard scope with labels
    4. Close stale issues
    5. Default to public and async
    6. Give credit often
    7. Leave breadcrumbs

    I urged the audience to pick one habit and try it immediately.

    Takeaways and Q&A

    I wrapped up by reinforcing that leadership lives outside the repo and glue work makes shipping possible.  I invited folks to pick a lane, join a triage session, or help curate the next release.

    The question period surfaced great stories: people surprised they could participate in release work without code, and others asking how to balance contributions with full-time jobs.

    What I Learned from the Room

    • Many talented people hesitate because they don’t see non-developers in core.
    • The “playbook” habits resonated; people wrote them down quickly.
    • There’s appetite for more structured mentorship paths for project contributors.
    • Some folks suggested pairing systems (non-developer lead and developer lead) to onboard new contributors.

    Next Moves You Can Try

    • Join the next WordPress core triage or bug scrub session.
    • Volunteer to take notes for a devchat.
    • Pick one of the seven playbook habits and try it in your own project or team.
    • Consider how your current job or project might adopt glue roles, like coordinating features, managing scope, or writing decisions.

    Final Thoughts & Thanks

    Before wrapping up, I have to say how special it was to experience WordCamp Canada in Ottawa.  The Carleton University campus was absolutely stunning, with crisp fall air, the leaves just starting to turn, and Richcraft Hall overlooking the canal and nearby lake creating an incredible setting.

    A red and white flag with a white w in the middle

    Ottawa itself is a beautiful mix of history and energy, with old architecture and monuments along the Ottawa River that show how much care the city puts into preserving its character.

    And of course, none of this would have been possible without the amazing organizers, volunteers, and sponsors who made WordCamp Canada feel every bit like the flagship event it is becoming.  The warmth and generosity of the Canadian WordPress community really stood out, from hallway conversations to contributor day collaborations.

    Running this talk in Canada felt meaningful.  It’s part of a larger conversation: WordPress needs more voices who see beyond code, people who connect, facilitate, and help the system work.  I can’t wait to see what happens when more contributors realize they are leaders already.

    If you were in the session, thank you.  If we met, thanks again.  If not, I hope you’ll drop me a line, try one small piece of this playbook, and remember that leadership doesn’t always look like a commit; sometimes it’s the work no one sees, but everyone depends on.

    If you missed the talk, then below are my slides.

    Fediverse Reactions
  • WordCamp US 2025 conference panel

    WordCamp US 2025 conference panel

    Thanks to everyone who came to the Core AI team’s panel discussion at WordCamp US 2025, Core AI: What We’re Building (available to live-stream on YouTube and WordPress.tv).

    The description of the panel is as follows:

    A group presentation from the Core AI team on what we’re building. Progress since the team formation, next steps, implementation examples, and an open Q&A.

    Read more about the formation of the WordPress AI team.

    If you missed the panel discussion, then below are our slides.

    Finally, here’s the on-demand panel discussion:

  • WordCamp US 2025 conference workshop

    WordCamp US 2025 conference workshop

    Thanks to everyone who came to my workshop at WordCamp US 2025, Scalable, Ethical AI: How to Own Your Content and Your AI with WordPress.  While the workshop was not live-streamed, it was recorded and is available on WordPress.tv (and hopefully YouTube soon).

    The description of the workshop is as follows:

    AI is becoming standard in content workflows—but too often, it comes at the cost of data privacy, long-term ownership, and open standards.  What if WordPress could help you do AI differently?

    In this workshop, we’ll go hands-on with ClassifAI and local LLMs to explore how AI features can be built ethically and scalably—from alt text generation to semantic classification to content summarization.  You’ll learn how to configure ClassifAI with a local model via Ollama or any compatible runner, using the new AI Services plugin developed by the WordPress Core AI Team.

    We’ll walk through real-world use cases and show how teams can reduce third-party dependencies while speeding up editorial flow—especially useful for enterprise content teams, agencies, and hosts.  You’ll leave with a working configuration (or clear path to one), plus a roadmap of how these tools are evolving across the WordPress ecosystem.

    Bring your laptop and a local or staging WordPress site if you’d like to follow along.  Whether you’re building for one site or 10,000, this workshop will help you make AI work for you—not the other way around.

    If you missed the workshop or had troubles following along (sorry!), then below are my slides as well as a reference to the prerequisite setup steps to be prepared for the workshop.

    Finally, here’s the on-demand workshop:

    Fediverse Reactions
  • Get Ready for My WCUS 2025 Workshop: Set Up Your Local AI-Powered WordPress Environment

    Get Ready for My WCUS 2025 Workshop: Set Up Your Local AI-Powered WordPress Environment

    If you’re joining my Scalable, Ethical AI workshop at WordCamp US 2025, we’re going hands-on with building privacy-friendly, locally-powered AI workflows right inside WordPress.  By the end of the workshop, you’ll leave knowing how to own both your content and your AI.

    This guide will help you prepare your laptop ahead of time so you can spend less time troubleshooting and more time experimenting with tools like ClassifAI and Ollama.  By doing this setup in advance, you’ll spend more time exploring the features and asking questions and less time downloading files during the workshop.

    Step 1. Set Up Your Local WordPress Environment

    The fastest way to get started is with tools like WordPress Studio, LocalWP, or DevKinsta that spin up a fully functional local site in minutes.  If you’ve got something else you like/use, then by all means use that!

    • Download and install WordPress 6.8 (PHP 8.1 or newer recommended)
    • Create a new local site
    • Confirm you can log into your WordPress dashboard

    Step 2. Install the ClassifAI Plugin

    ClassifAI is the AI integration plugin we’ll use throughout the workshop.

    • Download it from classifaiplugin.com
    • Or grab it directly from GitHub
    • Upload and install via Plugins → Add New
    • We’ll activate and configure it together during the workshop, but feel free to test it out before then!

    Step 3. Install Ollama for Local AI Models

    We’ll use Ollama to run AI models locally, keeping your content private and your workflows fully under your control.

    1. Download and install Ollama for your operating system.
    2. Pre-pull the four models we’ll use in the workshop:
    ollama pull qwen2.5:3b-instruct-q4_0
    ollama pull phi3:mini
    ollama pull all-minilm:l6-v2
    ollama pull moondream:v2

    Step 4. (Optional) Configure ClassifAI to Use Ollama

    We’ll work through this during the workshop, but if you’re wanting to get ahead of things then feel free to set up these features.  Once ClassifAI and Ollama are installed, we’ll connect each feature to a local model:

    FeatureModelPurpose
    Content Generationqwen2.5:3b-instruct-q4_0Drafts high-quality content locally
    Title Generationphi3:miniSEO-friendly, engaging post titles
    Excerpt Generationphi3:miniClean, concise summaries
    Content Resizingphi3:miniExpand or condense paragraphs on demand
    Key Takeawaysphi3:miniExtract key insights automatically
    Classificationall-minilm:l6-v2Suggests categories and tags locally
    Alt Text Generationmoondream:v2Privacy-safe image descriptions

    Step 5. Test Your Setup

    To confirm everything is working:

    ollama run phi3:mini "Hello from WCUS workshop setup"

    The above should respond with a simple message from Ollama (via the phi3:mini model), though in my testing it will almost certainly NOT get the WCUS acronym correct ;).

    If you did the optional ClassifAI configurations in Step 4, then test those are working as expected:

    1. Create a new draft post in WordPress.
    2. Use Title Generation or Content Generation from ClassifAI.
    3. Verify that a response comes back successfully.
    4. If something isn’t working, try restarting Ollama:
    ollama run

    Step 6. (Optional) Load Sample Content

    If you’d like extra material to test during the workshop, you can download the sample content that I’ve assembled.  I’ll provide USB drives with this sample posts, images, and taxonomy terms on the day of the workshop as well.

    To load them:

    • Go to Tools → Import → WordPress
    • Upload the provided XML file
    • Import posts, pages, and media assets

    Additional Resources

    • ClassifAI – Local Media HTTP: a small ClassifAI extension to serve attachments over http on .local sites
    • ClassifAI – Ollama Timeout: a small ClassifAI extension to increase the HTTP timeout for requests to Ollama on localhost
    • WordPress AI team: whether you’re an engineer, designer, researcher, or just curious about AI, we’d love to have you involved as we shape the future of AI in WordPress

    See You at WCUS!

    I can’t wait to connect with folks in-person at WordCamp US 2025 and dig into how we can own our content and our AI using WordPress, ClassifAI, and locally-powered workflows.

    Whether you’re a developer, editor, or site owner, you’ll hopefully leave the workshop with a hands-on understanding of how to bring scalable, ethical AI into your publishing stack without handing your data over to external platforms.

    Fediverse Reactions
  • Wapuu + Labubu = Wabubu?

    Wapuu + Labubu = Wabubu?

    With WordCamp US just around the corner, one might about any new Wapuu designs on company swag in Portland. A couple weeks ago on vacation with my family, I was walking the beach boardwalk with our kids and saw several Labubus being swung around or otherwise attached to kids’ slingbacks. My brain immediately went to “what would a mashup of a Wapuu and a Labubu look like?” and just as quickly started prompting ChatGPT with image generation requests to get an answer.

    The 4o model did a pretty great job from my initial, simple boardwalk-based prompt of “Can you design a mashup of a Labubu and a Wapuu?” even nailing the mashup name of “Wabubu”:

    Absolutely — just to clarify first: are you imagining this mashup as a character illustration, a 3D model, or something else (e.g. plush, toy concept, sticker art)?

    Assuming you’re looking for a character design mashup between Labubu (the mischievous, spiky-toothed character from The Monsters series by POP MART) and Wapuu (the cuddly WordPress mascot), here’s an idea for the concept:


    Labubu × Wapuu Mashup Design Concept

    Name: Wabubu

    Core Traits Blended:

    • Wapuu body shape: round, simple, chibi proportions, friendly pose
    • Labubu face: mischievous wide smile, prominent buck teeth, large ears, and wild hair
    • Wapuu accessories: hugging the WordPress logo (or an alternate WP-related item like a laptop, Gutenberg block, or code bracket)
    • Labubu texture: subtle fur, pointy ears, wild eyebrows

    Visual Details:

    • Head:
      • Wapuu’s round face but with Labubu’s wide, toothy grin and pronounced front teeth
      • Big mischievous Labubu-style eyes (slightly tilted, giving a prankster vibe)
      • Fluffy tufts of Labubu’s wild hair, slightly unkempt, poking out behind ears
      • Long pointed ears, one flopped down playfully
    • Body:
      • Retain Wapuu’s soft, rounded body and paws holding the WordPress logo
      • Covered in soft fur with Labubu’s tiger-like stripes subtly hinted in the texture
      • Small tail – could be a hybrid of Wapuu’s squirrel-style and Labubu’s wilder brush tail
    • Color Palette:
      • Golden yellow fur base (like Wapuu), but with darker brown/orange accents from Labubu
      • Blue-and-white WordPress logo contrasts nicely for emphasis

    Pose Ideas:

    • Cheeky grin, clutching the WordPress logo sideways like it just stole it
    • One paw giving a “peace” sign or tiny devil horns
    • Sitting on a stack of code books or on top of a WordPress admin dashboard

    Would you like me to generate an image of this version of Wabubu for you? If you want it to look more cute or more punk/mischievous, I can adjust the balance accordingly. Just let me know!

    The first two generated images, however, missed the mark:

    A cartoon of a cat holding a blue sign
    A cartoon animal holding a sign

    Even asking ChatGPT to show me what it thought was a Wapuu and a Labubu in a basic “a plus b equals c” sort of image was a struggle to get the entire image within the output:

    At that point it was obvious that ChatGPT wasn’t super clear on what a Labubu looked like and needed a lot more coaching to create a landscape image of the mashup creation.  So I shared an image of the first Wapuu and Labubu image from a quick web search to better define the image generation request and that immediately yielded better results:

    A cartoon of a dog and a rabbit

    From there it was much better at hitting what I was looking for in the Wabubu mashup both in a friendlier Wapuu version and a mischievous Labubu version:

    A cartoon of a cat holding a blue ball
    A cartoon cat holding a blue ball

    At this point I felt it had nailed the general concept and started asking it to create different image style variants based on quick prompt variations:

    Ironically with all the fun I had peppering ChatGPT with image generation variations I hit the cap of my monthly plan limit of image generations (yes, there are some variants and generations that I didn’t include here because they were just _bad_).

    So at this point, ahead of WCUS, I’m curious… which of these are your favorite Wabubu variant?  Which would you want physical merch of?  What other image variants would you create?  Do you prefer the more friendly Wapuu or the more mischievous Labubu variants?  Which style do you think would make an epic enamel pin, plush toy, or swag giveaway at WordCamp US?  Let me know your pick, or suggest a new mashup idea!

  • Contribute your Photos to WordPress

    Contribute your Photos to WordPress

    Did you know that you can contribute photos to the WordPress project and allow them to be shared and available for others to use in the public domain (CC0 licensed)?  Well you do now!

    Check out the the current photos contributed, submit your own photos, and start to see your own WordPress.org profile grow with the photos you contribute!

    While I was at WordCamp US 2023, I captured a couple photos and tested out the submission process.  Turns out it is super easy to submit, check out my photo submissions and submit your own today!

  • WordCamp US 2023 conference talk

    WordCamp US 2023 conference talk

    Later today at WordCamp US 2023 in National Harbor, Maryland, USA I’m giving a lightning talk on “Using a GitHub Action to ensure your plugins are GPL compatible.”

    The description of the talk is as follows:

    The WordPress.org plugin directory requires that all plugins must be compatible with the GNU General Public License (“GPL”) and recommends GPLv2 or later as the same license as WordPress itself. This includes third-party libraries, code, and images. With today’s modern development practices and easier contributions on git-based systems like GitHub, you may not even notice a dependency being added to your project. I will show you how to utilize a GitHub Action to scan your current codebase and ensure that all future pull requests and commits similarly ensure that all third-party libraries (aka dependencies) are GPL-compatible so that you can rest safe that your plugin can properly maintain its GPL-compatible claim.

    Feel free to reach out with any questions on the topic via comments on this post or contacting me directly.

    Finally, here are the slides from my presentation as a direct link from Google Slides and as a PDF:

    Fediverse Reactions