Tag: WCUS

  • In response to Matt Mullenweg’s “WordCamp Canada Talk”

    In response to Matt Mullenweg’s “WordCamp Canada Talk”

    I had the privilege of speaking twice at WordCamp Canada (“WCEH”; as in WordCamp, eh?)this year but had to leave before Matt Mullenweg’s town hall because of a family emergency.  After catching up later through his recap post, I was struck by how much ground he covered, from personal publishing tools and encrypted journaling to AI, open media, and the future of the web itself.

    His remarks touched on several themes that feel central to WordPress’s next chapter: helping people reclaim their online identities beyond centralized platforms, and navigating the tension between openness and authenticity as AI reshapes how we create and trust content.

    I wanted to ask Matt two questions that build on those ideas about the role WordPress can play in making “publish once, syndicate everywhere” a reality, and how it might help rebuild trust in what’s real online.

    Let me give a little update on what I’ve been up to. My life’s mission is to democratize publishing, commerce, and messaging.

    On the social side of publishing, I have Tumblr, which is a microblogging social network, but right now it’s on a different technical stack. I need to switch it over to WordPress, but it’s a big lift. It’s over 500 million blogs, actually, and as a business, it’s costing so much more to run than it generates in revenue. We’ve had to prioritize other projects to make it sustainable. It’s probably my biggest failure or missed opportunity right now, but we’re still working on it.

    Day One is a fully encrypted, shared, and synchronized blogging and journaling app that runs on every device and on the web. You can also have shared encrypted journals with others. It uses the same encryption as one password. It’s the first place I go to draft an idea—for example, to write this talk. Its editor is not as good as Gutenberg yet, but it’s pretty decent at allowing multimodal input—which means you can record voice notes, draw things, etc.—and capturing it all. It’s mostly replaced Evernote, Simplenote, and even private P2s for me. It has some fun features, like when you make a new entry it records, the location, what music you’re listening to on Apple Music, how many steps you’ve taken, the weather. Honestly, some features that would be nice to get into WordPress, at least as a plugin.

    So WordPress.com Studio is built on an open source project called Playground that we created to allow you to spin up WordPress in a WASM container in about 30 seconds, right inside your browser.

    So my first question to Matt is this: WordPress powers much of the open web, but most people still publish primarily on centralized social platforms.  There were some good talks at WCEH on the open web, the social web, and the indie web, shared by Dave Winer and Evan Prodromou this week and by Tantek Çelik at WCUS 2019What role do you see WordPress, either in core or through plugins, playing to help people reclaim their online identity and make ‘publish once, syndicate everywhere’ a mainstream reality?

    However, when AI creates a face, there’s no such restrictions there. So something that we could actually start to do, because right now I think we have some anti-AI rules in the photo directory, I think we should probably start to look at evolving that. So, for example, you can take a picture of me right now, change my face with AI to a face that has never existed, and that could be CC0-licensed and anyone in the world could use it. So I think there’s some possibilities there.

    I also think there’s some opportunities to use AI analysis of all the photos to give a better semantic understanding and a better search that we currently offer, which right now is typically monollingual, I don’t think it translates well into the, you know, 60-plus languages that WordPress supports, and it’s manual tagging. So there might be things to do, like a more automated understanding, which, of course, gets better over time.

    You know, we started to incorporate some of the AI models like Gemini and other things on WordPress.org to make us way more efficient on things like plug-in submissions and some code scanning. I actually think we’re very much in chapter one of where this is going to be.

    So first I will say, I don’t want to say that there’s bad actors. I think there might be bad actions sometimes, and just temporarily bad actors who hopefully will be good in the future. You know, every saint has a past, every sinner has a future. I never want to define any company or any person as permanently good or bad. Let’s talk about actions.

    Which leads to my second question for Matt: As AI makes it harder to tell what’s real online, trust in content is slipping.  The Breaking News episode of RadioLab in 2019 showed how deepfakes blur the line between truth and fiction.  How can WordPress and the open web help rebuild that trust?  For example, could it support initiatives like the Content Authenticity Initiative that use open tools to verify the source and history of digital media?

    Featured image source: https://canada.wordcamp.org/2025/thats-a-wrap-for-wordcamp-canada-2025-wceh2025/

    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