Craft Plugin Store

Role
Design and frontend for the in-app store (Vue.js) and the marketplace (Nuxt), from specs and sketches to implementation.
Team
Me (design and frontend), Brandon (CEO), and backend engineers on the Plugin Store’s APIs.
Timeframe
Announced at our Portland conference in 2017, in beta with 125 plugins by the end of that year, then launched with Craft 3 on April 4, 2018, with over 200. +1,000 plugins in 2026.

The store for Craft plugins: one inside the control panel, to install and buy plugins without leaving Craft, and one online, for discoverability and SEO. I designed the experience and implemented the store’s front-end with Vue.js and Nuxt. In beta in 2017 with 125 plugins and launched with Craft 3 in 2018, it now hosts around 1,000, with over $9,000,000 paid out to developers through September 2025.

The challenge

Developers had been extending Craft with plugins since version 1, with no central place to distribute them. They handled payments and licensing themselves, customers bought plugins on separate websites, and the ecosystem was growing in a way Pixel & Tonic found hard to support or take part in. The goal was one cohesive experience that would bring developers more income and give Pixel & Tonic a cut of every sale.

Craft is self-hosted, so we had few usage metrics. What we had was the same request for an easier way to install, buy, and distribute plugins, coming back in support, on Slack and at our conferences.

My role

For the in-app Plugin Store and the public marketplace, I wrote the specs, made the early sketches and the detailed mockups, listened to customer feedback, implemented the frontend, and connected the dots with the backend engineers building the store’s APIs. I did the same for Craft Console, the system that manages plugin licenses.

I also knew the problem from the other side of the fence: a few years before, I was selling my own plugins through Gumroad. Back in 2014, I had even built Directory, a plugin for finding and installing plugins from inside Craft, three years ahead of our own store.

The Directory plugin listing popular Craft plugins with install buttons
Directory, my 2014 plugin for browsing and installing plugins from the control panel, three years before the Plugin Store.
Notebook sketch of a redesigned plugin index with icons and descriptions
Early sketch for managing plugins in Craft, taking inspiration from existing marketplaces.

Three surfaces, one system

The Plugin Store came in three places sharing one system, and I definitely borrowed ideas from platforms like the App Store to design them.

  • The in-app store sits inside Craft CMS, so installing or buying a plugin never takes you out of Craft.
  • The marketplace is a public website, there for discovery and search engines.
  • Craft Console is where customers manage licenses, orders and billing. Developers use it too, to publish plugins, link their Stripe account and follow their sales.

Buy

In-app store

Inside Craft CMS: install or buy without leaving it.

Marketplace

A public website, for discovery and search engines.

License

Craft Console

Customers manage licenses, orders and billing. Developers publish plugins and track sales.

Renewals: additional years of updates

Each sale

80%Plugin developer

Developer payouts, through their connected Stripe account.

20%Pixel & Tonic

Kept for providing the service.

Three surfaces, one system: where a plugin sale goes and how renewals come back.
The Plugin Store embedded inside the Craft control panel
The in-app Plugin Store: install and purchase plugins without leaving the control panel.
The online Plugin Store with plugin discovery sections
The online Plugin Store, improving plugin discoverability and SEO.

Before launch, at our Portland conference, I sat with plugin developers in a workshop and helped them get their plugins compatible and published.

Three people laughing around laptops during a hands-on workshop
Helping developers publish their first plugins in Portland, where the Plugin Store beta launched.

24 hours before Craft 3

We had publicly committed to April 4, 2018, with a countdown. Craft 3 was an almost complete rewrite around a newer PHP framework, the engineers were deep in that transition, and the Plugin Store’s API came last, definitely a bit in a rush. We flew the whole team to Bend, Oregon, to spend a couple of weeks connecting the remaining pieces in one room.

About 24 hours out, we still had integration issues and API problems with buying and renewing plugins. I put the remaining UI refinements aside and focused entirely on functionality. People had to be able to buy a plugin and renew a license for additional years of updates, and that mattered more than a polished interface. We narrowed the last issue down to renewals, on the API side, so it could be fixed without holding back the CMS release.

Craft 3 launched on its public date, and new plugin purchases worked straightaway. Renewals ran in a degraded state for a few more hours, and the polish I had set aside shipped in the days after.

Activity over opinions

Another challenge I faced was helping people judge whether a plugin was active and maintained before adding it to a project. In 2022, when we refreshed plugin pages, I added an active installs graph and a GitHub activity card, with issues and pull requests, next to the screenshots, pricing, docs and compatibility.

The SEOmatic plugin page in the online Plugin Store, with screenshots, pricing, and installation instructions
A plugin's page: screenshots, pricing, documentation, and installation instructions.

We initially decided to leave ratings and comments out, as we wanted unbiased and objective metrics about a plugin’s activity, and we didn’t want to moderate ratings or comments. Ratings and reviews came later, in October 2024.

Plugin page sidebar showing active installs, compatibility, and repository activity
Install counts and GitHub metrics instead of ratings, to show how active and popular a plugin is. Ratings and reviews came later, in October 2024.

Impact

plugins, up from over 200 at launch
+1,000
paid to developers through September 2025
$9M+
of each sale goes to the developer
80%

From over 200 plugins at launch, the store has grown to around 1,000. By September 2025 it had paid developers more than $9 million. Developers keep 80% of each sale, and Pixel & Tonic keeps 20% for providing the service.

Let’s chat!
ben@dukt.net
© 2026 Home Benjamin DAVID