27+ years of web development experience. I build custom Craft CMS solutions — from plugins and headless APIs to full-stack builds and AI-powered workflows.
Full-stack Craft CMS expertise for projects of any size, from solo builds to team augmentation.
Custom plugins, modules, and integrations built to extend Craft CMS beyond its core capabilities. Twig, PHP, Yii — the full stack.
Craft Commerce storefronts, payment integrations, product configurators, and custom order workflows built for your business.
I embed alongside agency development teams as a force multiplier — strengthening capacity, accelerating timelines, and bringing deep Craft expertise to your existing workflow.
Server management, deployment pipelines, DDEV environments, and performance optimization. Your Craft site, running fast and reliably.
Helping development teams level up their Craft CMS workflows. Architecture reviews, content modeling strategy, and best practices training.
Retainer-based support for updates, security patches, Craft version upgrades, and ongoing feature development. Your site stays healthy long-term.
Pixel-perfect frontend implementation with Tailwind CSS, vanilla JavaScript, PHP/HTML/Twig templating, and Vue.js for interactive components — translating designs into fast, accessible interfaces.
Comprehensive audits covering security vulnerabilities, SEO health, accessibility compliance, and site speed performance — with actionable fixes to bring everything up to standard.
Expert setup and configuration of the Craft ecosystem — SEOmatic, Formie, Blitz, Commerce, Navigation, Retour, Sprig, CKEditor, and more — tailored to your project's needs.
A selection of Craft CMS projects spanning industries, from enterprise to startup.
Full-stack Craft CMS build featuring an interactive 3D building configurator, Algolia-powered search, video integration, and Blitz caching for performance at scale.
In partnership with OBP Agency
View Site
Custom faucet builder with 25+ artisan finishes, powered by Craft CMS and Commerce. Customers configure products with real-time previews before purchasing.
In partnership with Mostly Serious
View Site
Craft CMS site for a network and fiber cabling company specializing in data centers. Built with Tailwind CSS and structured content modeling for service portfolios.
View Site
Charlotte HVAC company site built on Craft CMS featuring video content integration, customer testimonials, and service area management.
View Site
Craft CMS site with a custom Spotify integration displaying real-time listening data, discography management, and a built-in music player.
View Site
Early childhood education nonprofit built on Craft CMS with a provider search portal, resource management, and community outreach tools.
In partnership with Mostly Serious
View Site
Multi-site Craft CMS installation with Algolia-powered property search, serving forest and timberland listings across multiple regions.
View Site
Craft CMS work on the North American site of a global CNC machine-tool manufacturer: a product catalogue that filters by structured specification data, a searchable Knowledge Center, and a distributor locator.
In partnership with Crafted Agency
View Site
Custom Craft module with points calculation system, frontend user registration, and competition management for a regional BBQ championship series.
View Site
Charlotte-based nonprofit music organization built on Craft CMS with event listings, performer profiles, and community engagement tools.
View Site
And counting. Shuffled fresh on every visit.
AI is a tool I use to deliver better results faster — and a capability I can build into your project.
I integrate AI coding agents into my development process — accelerating plugin development, automating content migrations, streamlining QA, and catching accessibility issues before they ship.
When you hire me, you get the productivity benefits of AI tooling without needing to understand or manage any of it. Faster delivery, higher quality, same Craft expertise.
I build custom AI agents that integrate with your Craft CMS installation — from intelligent content assistants to automated workflow tools.
Interested in AI for your business? Visit ai-developer.io or let's talk.
Open source and commercial plugins I've built for the Craft CMS ecosystem.
For the storefront side of Craft Commerce. Checkout, subscriptions, bundles, loyalty, B2B and the product feeds that bring shoppers in.
11 plugins
Everything that happens after somebody clicks Buy. Order numbers, invoices and packing slips, shipping rates, tracking, returns and downloads.
9 plugins
Commerce orders, landed in the books your client already uses. One plugin per accounting package, built around the tax rules of the country it's sold in, plus Erpy for when the client runs a full ERP.
15 plugins
Getting found, by people and by machines. Faceted search, recommendations, GEO and instant indexing, image similarity, and tools that keep links and the search index honest.
6 plugins
For the people writing the content. Scheduling, staging, revision diffs, house style, find and replace, and a warning before two editors overwrite each other.
11 plugins
Small changes to the control panel that editors notice on day one. Better filters, a real media library, sidebar fields, watermarks and uploads that don't time out.
5 plugins
The bigger pieces a client asks for by name. Events, bookings, memberships, courses, reviews, a support desk, job listings and the rest.
15 plugins
Newsletters, popups, A/B tests, conversion pixels and analytics that show up next to the entry they're about.
7 plugins
Building blocks for templates. Navigation, links, tables, embeds, icons, notification bars, favicons and installable web apps.
9 plugins
For the developer on the project. Migrations in and between sites, a code editor field, schema docs, content inventories, reports and email testing.
12 plugins
Find out what's slow, what's broken and what's running before somebody emails you about it.
6 plugins
Keeping bad actors out and the lawyers happy. Scanning, bot traps, access rules, per-entry permissions, GDPR requests and the legal pages themselves.
9 plugins
View all plugins on the Craft Plugin Store
I embed alongside agency development teams as a force multiplier — strengthening capacity, accelerating timelines, and bringing deep Craft CMS expertise to your existing workflow. No onboarding friction, no ramp-up time. I plug in, ship code, and make your team faster.
Need another senior Craft developer yesterday? I slot into your team's tools, repos, and processes from day one — no training required.
Plugins, modules, Element API, Commerce, Twig, PHP, Yii2 — I bring the full Craft stack so your team can focus on what they do best.
20+ agencies have relied on me as their go-to Craft developer — from quick-turn projects to long-running retainers.
Sharing what I've learned about Craft CMS content modeling, architecture, and development.
Using Entries and Relationships as a Content Builder System. An alternative approach to Matrix-based content builders that improves performance and content reusability.
Episode 5 — 58 minutes
My journey from building HTML sites in 1996 to specializing exclusively in Craft CMS. Covering 27+ years of web development, content modeling philosophy, and the Craft community.
The tools and technologies I reach for every day to build fast, reliable Craft CMS solutions.
I've been building for the web since 1996. After years working with WordPress, Drupal, ExpressionEngine, and Magento, I found Craft CMS in 2017 and never looked back. Since 2019, I've worked exclusively in the Craft CMS / Yii ecosystem — building custom solutions for clients ranging from startups to enterprise organizations. I'm based in Charlotte, NC, where I also organize the local Craft CMS developers meetup.
27+
Years in Web Dev
70+
Craft CMS Projects
2019
Craft Exclusive
Dot All
2022 Speaker
Practical notes on Craft CMS development, modern tooling, and the things I run into along the way.
FabFest Charlotte was built on staging, but production was live and busy, so a database copy was off the table. Here's how I moved its sections and assets with my Transport plugin, including the import that failed and the fix that shipped the same morning.
Clever one-liners, dense arrow functions and zero comments made us feel like artists. Now that agents read and write most of our code, it's time to stop treating code as art and start writing code that's obvious.
DRY made sense when humans typed every line. Now that agents write most of the code we ship, a lot of our abstractions cost more than the duplication they replaced. Meet RYAN: Repeat Yourself As Needed.
Whether you need a new Craft CMS build, help with an existing site, or want to explore AI-powered development — I'm here to help.