Jul 2024 – present
Pulumi Cloud UI refreshes
Visual and product design · Pulumi
Pulumi Cloud UI refreshes since 2024, told through before and after: hierarchy, color, and type reworked for dense, technical screens, built on the Pulumi Design Foundation.

Pulumi's products grow in parallel: stacks and deployments, ESC, Governance, policy, and Neo each move on their own track. A shared visual language is what keeps them reading as one product. I've led every Pulumi Cloud UI refresh since 2024. Here are four of them, shown before and after, with the decisions that made the difference.
Before this work, every page in the console was different: different form components, different colors, and space that wasn't used well. There was no cohesive architecture. The rule for every refresh since has been the same: build on the Pulumi Design Foundation and the Pulumi Design System, and make every view consistent with the rest.
Dashboard
A growing share of infrastructure code is now written by agents. Neo is Pulumi's answer to that, in the console and the Pulumi CLI, alongside APIs for external agents. So the new dashboard starts with what you came to do: a prompt to hand a task to Neo. A short setup checklist follows, because my goal here was retention and subscription conversion, and onboarding is where both are won. Then come the numbers that matter, each with a trend line, followed by stack activity, Neo tasks, and new members.
Resources
The old screen led with a column of filtering facets that was distracting and hard to understand. I folded filtering into the table itself, with sortable, filterable columns and rows you can group by any column, so the page uses patterns people already know and the signal rises above the noise. Search and the live resource count share one row, and Resources, Cloud estate, and the Cost and waste report sit side by side as tabs.
Billing & usage
I redesigned Billing & usage end to end so it maps directly to Pulumi's current pricing model. The goal was to communicate cost and usage clearly: customers can see what they're using, what it costs, and what changes as they grow, without decoding a pricing page. Credits used lead the page, broken down by product. Usage history charts consumption day by day, and a single control switches the billing dimension, so every product's consumption reads in the same simple chart. Guidance on getting more from the plan sits beside the totals, and editions, payment method, and history follow in the order people look for them.
Stack resource graph
Two afters. The first refreshes the same view: resources sit on isometric planes grouped by category, dependencies are drawn between them, and a card on hover gives the type, policy findings, and a way into the resource.
The second is a concept I designed end to end, which rethinks how resources are represented at all. Explorer puts the whole cloud estate on one graph: each stack is its own plane, policy findings are counted on every resource, and estimated cost sits on the resource card, with filters for what's connected by references, security groups, or policy findings.
Outcome
Every refresh is built on the same foundation, and together they've contributed to more customers and stronger relationships between Pulumi's support and sales teams and its customers.
Dashboard
From a wall of counts to a starting point: ask Neo, finish setup, then see what changed.
Resources
Search and the table, rebuilt on the Pulumi Design System.
Billing & usage
Mapped to the current pricing model: credits used, what's left, and what changes as you grow.
Stack resource graph
Two afters: the same view, refreshed, and a concept that rethinks how resources are represented across the whole cloud estate.