Craft Cloud

Role
Writing specs with stakeholders, then design, from notebook sketches to detailed Figma prototypes, then the Vue.js frontend.
Team
Me (design and Vue.js frontend), Brandon (CEO), and backend engineers on the infrastructure and APIs.
Timeframe
Take #1 announced in September 2019 and dropped in 2020. Take #2: the three years or so it took to build, about six months of private beta, then a public launch in summer 2024.
Shipped
Hosting for Craft, managed and run from Craft Console.

Hosting tailored for Craft, from the team behind it, so customers can publish their projects without worrying about DevOps. Announced in 2019 as a headless-only platform, customer feedback sent us back to the drawing board, and Craft Cloud became a scalable hosting solution for every kind of Craft site. I designed the experience from sketches to high-fidelity prototypes and implemented the front-end with Vue.js. Five years in the making, Craft Cloud launched in the summer of 2024.

The challenge

Customers kept asking, in support and at our conferences, for a hosting solution from Pixel & Tonic itself, so they wouldn’t have to deal with DevOps. The solution would serve the customers we already had and give the company another source of income.

My role

Cloud is the most representative of what we started from scratch at Pixel & Tonic. I spent time with Brandon, our CEO, the engineers, marketing and sales to define the problem and write the specs. Brandon was still around to help with the decisions, but he was stepping back from design, so I was mostly the only one working on it. I designed it and built the frontend in Vue.js, with Storybook for its components, against the APIs the backend engineers were providing.

The tension

Our first take followed the headless trend as a headless-only platform. We were so sure of the direction that we announced it at the 2019 Craft conference, before anyone outside had used it, and jumped a bit too early into planning and coding. A year later, the people testing it weren’t happy with the small part we had made. We had built for where we expected the market to go, not for what our customers would actually do with it.

What wasn’t obvious

Many Craft sites rely on custom plugins, and Take #1 couldn’t run them. Early testers found it too limiting. They wanted the Craft sites they were already building to be easier to run, plugins included.

Other ideas also came out when we included customers in our brainstorming sessions for Take #2, like working as a team on projects, or organization licenses and billing.

Notebook sketch of the Craft Cloud project access screen, with database credentials and a button to request 24-hour access to an S3 bucket
Notebook sketch exploring the project access screen: database credentials and S3 access.

Take #1 to Take #2

Customer feedback made it clear Take #1 didn’t properly address the customers’ needs, so we needed to pivot. We scrapped work and went back to the drawing board. For Take #2, we brought a group of 10 to 15 people into our brainstorming sessions: developers, agencies and customers. They didn’t want headless Craft in the cloud, they wanted a flexible hosting solution tailored for Craft.

Take #1: a grid of Craft Cloud project cards tagged Serverless or Self Hosted, grouped under Personal and Pixel & Tonic

Take #1: the headless-only concept, before customer feedback sent us back to the drawing board.

Take #2: the Craft Cloud projects index in Craft Console, with domains, production deployment status, environments and estimated cost for each project

Take #2: hosting tailored for Craft, plugins included, with each project’s deployment status and environments at a glance.

I took a lot of inspiration from services like Vercel, Netlify and DigitalOcean as they have a lot in common with Cloud. I was struggling with a deep hierarchy, from the organization down to a project, its environments (Production, Staging, Develop) and each environment’s deployments, logs and variables, and I borrowed a lot of ideas from Vercel there.

Craft Console

  • Cart
User settings
  • Profile
  • Orders
  • Billing
  • Organizations
  • Integrations
  • Developer Support

Organization · agencies work as a team

Cloud
  • Projects
Licenses
  • Craft CMS
  • Plugins
  • Claim Licenses
Developer
  • Plugin Sales
  • Plugins
Organization settings
  • Profile
  • Members
  • Orders
  • Billing
  • Partner Network
  • Plugin Store

Project · one Craft project in Cloud

  • Domains
  • Settings

Environment

ProductionStagingDevelop

  • Deployments
  • Logs
  • Backups
  • Variables
  • Commands
  • Access
  • Settings
The deep hierarchy I was struggling with.

Impact

Developers ran their real projects on it through the private beta, and Craft Cloud launched publicly in summer 2024 to a warm welcome from the community.

Craft Cloud deployments for a project’s production environment: commits deployed on push from the main branch, with deploy times and statuses
The shipped deployments experience: push a Craft project to the Cloud with no DevOps.

What didn’t go as planned

We heard customers at conferences and in casual conversations, but for Take #1 we never really put them into our discussion group, and that should have been the very first step. For Take #2 we did, and it made all the difference. So now I’d rather reach out early to a limited group of users to make sure everything is headed in the right direction, without going public too soon and setting the wrong expectations.

The Craft Cloud variables screen: system variables with no edit action, a masked sensitive value, editable variables, and new rows being added
Per-environment variables, with sensitive values kept secret.
Craft Cloud logomark drawn as a dashed outline
The dotted logo teasing Craft Cloud, announced in September 2019.
Figma canvas with dozens of screens wired together with prototype arrows
The Figma prototype, borrowing ideas from products like Vercel, Netlify, and DigitalOcean.
Let’s chat!
ben@dukt.net
© 2026 Home Benjamin DAVID