Blog

  • PHPVerse 2026

    PHPVerse 2026

    My slides, speaker notes, and all resources from PHPVerse 2026. Slides: https://docs.google.com/presentation/d/1gFA-_yi8UA7aKyEnev37vdEgg9SaOZWl-tZQkpXg4ws/edit?usp=sharing Recording: WordPress is dead, long live WordPress! Before I dive in, I need to take you back to the year I learned PHP and started to take it more seriously as a career path. It was 2004, the year Gmail launched, the most…

  • WordCamp Europe 2026

    WordCamp Europe 2026

    Slides, code, and resources from my WordCamp Europe 2026 workshop. Slides: https://docs.google.com/presentation/d/1KXfGLZvAByjKxgOPGgHg3Twdcwx9-zZuFxhPwJRgDlk/edit?usp=sharing GitHub repository: https://github.com/wptrainingteam/wp-ai-workshop-demo Recording: Resources:

  • Introducing Concilium

    Introducing Concilium

    How (and why) I built Concilium, my personal agent dashboard in a browser.

  • WordCamp Vienna 2026

    WordCamp Vienna 2026

    My WordCamp Vienna 2026 workshop and talk slides and demo plugins: Build your first AI-Powered WordPress plugin WP AI Workshop Demo plugin WordPress 🤝 AI: A Tour of the Core AI Projects Writing style post generator plugin

  • How I built and deployed a custom WordPress block theme using AI

    How I built and deployed a custom WordPress block theme using AI

    A step-by-step walkthrough of building and deploying a custom WordPress block theme using Claude, MCP tools, and WordPress Studio — including every prompt, tool, and skill used.

  • A year of progress: AI agentic coding and the Cosmic Defender experiment

    A year of progress: AI agentic coding and the Cosmic Defender experiment

    In March 2024 I tried to build a 3D space shooter game using AI in just a few prompts. It was a disaster. A year later, I tried again with Claude Code — and it actually worked.

  • Globally ignore .DS_Store files in Git

    Globally ignore .DS_Store files in Git

    If you’re a macOS developer working with Git, you’ve probably encountered .DS_Store files appearing in your commit history. These system files are created by macOS to store folder-specific metadata, usually related to images, and they have no place in your version control. While you could add .DS_Store to each project’s .gitignore file, there’s a better…

  • Why I’ve settled on GitHub Copilot when building my personal projects

    Why I’ve settled on GitHub Copilot when building my personal projects

    2025 was the year I tested every AI agent I could find and eventually settled back to using GitHub Copilot for building personal projects.

  • Expanding AI model access for WordPress sites with OpenRouter: 400+ Models in One Provider

    Expanding AI model access for WordPress sites with OpenRouter: 400+ Models in One Provider

    A few days ago, I shared my experiments with local, open-source AI models using Ollama and the WP AI Client. While Ollama offers a fantastic solution for running local models and accessing cloud-based open source options, I found myself wanting easier access to a broader range of commercial and proprietary models as well. That’s when…

  • I’m curating the WordPress.com Dev & Deploy newsletter

    I’m curating the WordPress.com Dev & Deploy newsletter

    Do you want to get WordPress development-focused news, curated by me, in your inbox every week? Well, now you can!

  • Experimenting with local open source AI models using Ollama and the WP AI Client

    Experimenting with local open source AI models using Ollama and the WP AI Client

    I’ve been spending quite a bit of time digging into the WordPress AI Client and PHP AI Client as part of my research for a blog post on the WordPress Developer blog. While working on my demo code for the post, I wondered if it would be possible to use these clients with local AI…

  • Weekend updates to my WordPress apps

    Weekend updates to my WordPress apps

    I had some free time this past weekend (a rare occurrence), so I was able to spend a little time adding features to my WordPress development utilities.