Work Experience How I work Contact
← Back to work

Coinbase Cloud Admin

An internal tool for CSMs that cut customer resolution time from days to minutes

Role
Solo Designer
Team
Product Manager, Full Stack Engineer
Scope
0→1
Status
Designed and shipped in 3 weeks

The problem

Coinbase Cloud had zero admin tooling. When a customer needed a rename, transfer, or delete, 30 account managers DM'd engineers in Slack and waited days.

Coinbase Cloud has ~30 account managers handling $30B in customer assets. They help customers set up clusters, move from trial to paying, and take care of requests like renaming a cluster, debugging errors or transferring clusters. However, they couldn't execute any of it so requests got passed on to PMs and engineers to run in their terminals. Turnaround time was in days, led to bad CX, and wasted engineering time.

Constraints. This tool had urgent business impact so to ship quickly, we decided to leverage Retool (an internal tools builder). Therefore, the project focus was on information architecture and quick task execution.

Mapping it out

I interviewed 2 account managers to map the lifecycle, find friction points and make sure we were prioritizing the right things.

What info does a customer provide? How is a cluster searched for? How is the request handed off between people? How many tools are involved?

  1. SlackCustomer DMs the account manager
  2. CUSTOMER LIST PAGEAM looks up the customer on the customers page + copy their org ID
  3. CLUSTER LIST PAGECtrl+F that ID on the clusters list page
  4. CLUSTER LIST PAGEManually map the highlighted clusters to details in the DM
  5. JiraFile a ticket including cluster details
  6. PM or engineerWait for them to change in CLI, anywhere from hours to days

Users rewrote the brief

Finding the right cluster was the most time-consuming part. The actions themselves were easy enough.

  • Customers didn't always give the exact cluster details, so searching for a cluster was difficult because they needed to piece together different slices of information.
  • Handoff between tools and people meant information got lost and errors crept in.
  • Renaming a cluster was a common action missed in the PRD which I pushed to prioritize.
  1. SlackCustomer DMs the account manager
  2. Cloud AdminSearch by customer name
  3. Cloud AdminFilter clusters by details from the DM
  4. Cloud AdminFind and open cluster
  5. Cloud AdminTake action

Explorations

I tried a few directions for search and tested them with a couple account managers early.

Search by customer was strongly preferred as it was a simple starting point and aligned with the information they got from customers.

Exploration one: a single search field for the customer name and a Search button.
Search by customer
Exploration two: a query builder with a search field, a dropdown to pick cluster name, resource ID or customer, and an add a filter button.
Query builder
Exploration three: search for a cluster name on the left, or search for a customer name with an optional protocol filter on the right.
Split search

Solution

Search by customer name, filter down to the cluster, take action. All in one place.

Find cluster

Search by customer name and view details
View clusters and filter on columns: protocol, network, product and status to find the right one
Open cluster, view details and take action

Take action on it

Rename cluster
Transfer the organization through simple search
Delete with safeguards built in

Do what it takes to QA

Timelines were tight and I couldn't get permission for the test environment so I asked for screenshots and sent QA notes over Slack.

Not ideal, but we needed to ship quickly.

Outcomes

  • Resolution time went from roughly two days → few minutes
  • People needed per request reduced from 3 → 1. Zero PM or engineering time spent on these requests.
  • Tools used in the lifecycle went from 4 → 1