CircleCI Usage Controls

Adding cost management via usage controls


Product Designer




Jul – Dec 2021 (v1), Feb – April 2022 (v2)
First, a few highlights
Before diving into this case study, a brief overview of my time at CircleCI:

On the Monetization team, I improved trust in our billing model and increased cost transparency for users. I regularly engaged with the customer success team to understand customer problems, helped create OKR's each quarter, communicated changes to plan pricing and packaging, and collaborated with other teams to design features for them.

I also assisted on design system work like creating the framework for a dark theme, unifying our marketing and product systems, and coordinated an icon refresh.
Project overview


Customers wanted usage controls to manage cost.


Controls that allow customers to tweak cost without blocking critical work.


Users prefer automatic controls they can monitor since they have limited time.

Context and research


Through our customer success team, we heard that a few of our largest customers wanted usage controls to manage cost. Aside from the phrase itself, we didn't know what they wanted, so I began with exploratory research.

Research goals

Findings (Jobs to Be Done)


There are conflicting desires of wanting human intervention and having time to intervene. There is an opportunity to implement automatic controls by meeting the needs of:

Infrastructure maintenance tasks are often backburner items, so helpful controls may still be welcome.

Competitive analysis

Creating an MVP

After discussing feasibility with the engineering team, my PM and I decided to release a simple first control that aligned with research findings while also allowing cost management.

The result is a control that prevents unregistered users (those who have triggered builds without signing up) from using credits. Importantly, this control does not block the rest of the organization's users from working.

Improving and expanding

After positive reception to our first control, we released a second and iterated on the first a couple months after shipping the initial one.

Our second version focused on storage retention—setting values for how long job-related data is stored—so we could continue to help organizations manage cost without blocking work. I also improved the first control's typography and worked with our writer to more thoroughly describe its function.

What I enjoyed most about this project was that I got to take it from vague, exploratory research all the way through to an MVP feature launch and ultimately a polished release. Finding out early on that user preferences didn't align with our initial expectation helped me stay grounded as I continued with the project.

As far as future improvements, this feature is currently something only people in the know would seek out to manipulate cost. The next step I'd take is to help those who don't know about usage controls discover what they are and how they can be used to tweak cost.

Back to projects