Enhancing Coinbase Prime’s Reporting Capabilities

Enhancing Coinbase Prime’s Reporting Capabilities

Duration

May - Aug 2024

Team

Institutional

Role

Product Design Intern

Internship Summary

TL;DR - What I’ve accomplished in 12 weeks

TL;DR - What I’ve accomplished in 12 weeks

At Coinbase, I worked on a series of projects related to the reporting features in Coinbase Prime. Here’s a summary of what I did and the impact I had on each of my projects:

Project 1: Cleaned up inconsistencies in existing reporting flows

  • Ensured scalability and serves as the building block for future projects

  • Provided higher craft for Prime’s services

  • Increased eng efficiency through the introduction of repeatable patterns

Project 2: Designed a way to generate validator staking reports in Prime

  • Decreased client escalations relating to discrepancies in their reports by 100%

  • Empowered clients to self-service staking reports (vs. contacting the accounting team for help)

Project 3 [WIP]: Designed a feature to schedule recurring reports

  • Increased client efficiency in day-to-day business operations

  • Increased punctuality and accuracy of report delivery to clients’ partners

And now, onto the details...

Product Overview

What’s Coinbase Prime?

What’s Coinbase Prime?

Basically, Prime is where businesses go to do all things business with Coinbase :P

Coinbase Prime is a web-based product that our institutional clients (asset managers, hedge funds, etc). use to trade, custody, finance, and more. Below is an overview of its core functionalities:

For designers, working on Prime meant crafting a pristine product experience for our clients while making sure that they get from point A --> B as quickly and smoothly as possible.

At Insto, “craft” = considering (and prioritizing) the product’s efficiency, scalability, and consistency.

Project 1

Report generation experience consolidation

Report generation experience consolidation

Speaking of craft, my first project involved increasing the craft of Prime’s reporting features for future projects to be built on top of. This took about 5 weeks to complete, from onboarding to handoff.

Current problems with Prime reporting

Current problems with Prime reporting

Lack of 1 ) scalability, and 2 ) consistency in patterns, which led to a disjointed product experience

Regarding the issue with scalability, we used cards stacked on the right side of the page for users to enter into the 5 different reporting flows. This approach cluttered the report center, making it difficult to support new report types or business lines in the future.

Regarding the lack of consistency, varied patterns appeared in modals, error states, dropdowns, etc. This erodes our reputation for providing a white-glove service while slowing down eng implementation.

Different modal size patterns

Different modal size patterns

Different date picker patterns

Different date picker patterns

Different dropdown patterns

Different dropdown patterns

Sneak peek into my design process

Sneak peek into my design process

Inspo, iterations, feedback, repeat... x100

Jk, it wasn’t repeated that many times, but it definitely felt like it - it opened my eyes to how iterative designing can be with attention to detail. Instead of following the typical research to design methods, my process started out with screenshots of inspo, then iterating a bunch, then getting feedback on it.

Screenshots of inspo

Multiple iterations

Screenshots of inspo

Multiple iterations

Without a UX researcher on our team, aligning with stakeholders and cross-functional partners became even more important.

It would’ve been nice to have a UXR, but conducting research is expensive at Insto. To deal with this ambiguity, leaning on stakeholders became really important. Hearing their constraints helped to clarify and narrow down the possible solutions, so I often asked my eng partners about the technical feasibility, PM for the project scope, other designers for new ideas & existing patterns, etc.

I made major improvements through design crits.

Humbling, yet insightful

Even though it was daunting to present in front of more experienced designers, I got the most value out of the weekly design crits. I would come prepared with a few iterations, and the team would discuss tradeoffs. Lots of new perspectives, lots of insights, lots of learnings.

The design solution

The design solution

A scalable redesign that simplifies and standardizes all report generation experiences

I redesigned the entire process from the entry point to the confirmation. Here’s a quick demo:

One major addition was the new entry point to generate reports. As opposed to having only 4 report types visible at a time in the report center, this page can show 12 - a much more scalable alternative.

Along the way, I standardized all experiences from the visual hierarchy, components, patterns, copy, and more.

The visual hierarchy of different report types featured a full-page modal with general inputs on top and report-specific information on the bottom. All inputs are contained in-line.

Dropdown components were redesigned balancing usability, use cases, and existing Prime patterns.

Copy was standardized to reduce confusion across different report generation experiences.

This project served as the foundation of all future reporting projects. It is slated for implementation in Q3 of 2024.

Project 2

Validator staking report implementation

Validator staking report implementation

Adding to my first project, I took on a new project for the staking team - this was an extra urgent, “code yellow” project to be addressed immediately. Although it wasn’t initially a part of my internship scope, I worked on it to take ownership of all reporting experiences in Prime, completing it in 2 weeks.

CODE YELLOW: What problem made this project so urgent?

CODE YELLOW: What problem made this project so urgent?

Missing data, inconsistencies across reports, and a distrust in our services caused by a bifurcated reporting structure

At the time, Prime only generated delegate staking reports, but large custody clients also needed validator staking reports, which were generated by Coinbase Crypto Services. Having 2 separate entities (Prime and CCS) for 1 type of report (staking) led to a confusing experience for clients.

Even worse though, the accounting team at CCS manually generated and formatted each validator staking report. This wasted a lot of time and led to inconsistencies and missing data across reports.

A validator staking report manually generated by the accounting team

A validator staking report manually generated by the accounting team

The problem escalated, with clients saying:

“We can't stake anything further with you guys... The audit we did took us two weeks and arguably cost us a few 100k in resources.” — Client 1


“We also can’t reconcile out the two reports between Prime and Cloud. They almost never match and we’re not sure why we need two.” — Client 2


“Your custody invoicing is so bad it makes me question if our assets are safe...” — Client 3

“We can't stake anything further with you guys... The audit we did took us two weeks and arguably cost us a few 100k in resources.”

— Client 1


“We also can’t reconcile out the two reports between Prime and Cloud. They almost never match and we’re not sure why we need two.”

— Client 2


“Your custody invoicing is so bad it makes me question if our assets are safe...”

— Client 3

Delivering a solution in less than 2 weeks

Delivering a solution in less than 2 weeks

Complex topic, long onboarding, but simple design

The restructuring work that went into the backend (and the topic of staking itself) was pretty complex, but the solution at the interface level was actually very simple. I spent most of my time onboarding, meeting with stakeholders for alignment, and prepping the hand-off file. Here’s the solution below.

Validator & delegate staking, in one flow

I added 2 cards at the top of the staking report modal to toggle between validator and delegate options. I also updated all of the interactions and edge cases.

This project is expected to reduce the number of client escalations relating to reporting discrepancies by 100%. It’s currently in development (as of August 2024).

Project 3

[WIP] Scheduled reports feature addition

[WIP] Scheduled reports feature addition

After I addressed the concerns around staking reports, I designed a way to schedule the generation and delivery of reports to a set cadence, a very highly requested feature by our top clients. I worked on this until the end of my internship - designs shown below are work in progress.

The problem

The problem

Decreased efficiency and accuracy of reports without automation

Many reports that our clients generate are cyclical in nature - daily, weekly, quarterly, and annual reports are common among all types of businesses. Currently, clients generate reports one by one, but automating this process brings lots of value by increasing the efficiency and accuracy of reports.

The design process

The design process

A better, more refined version of the previous workflows

My design process stayed similar from other projects but were more refined after working for 12 weeks. I felt more confident in my ideas, craft, execution, etc. which made it a smoother experience overall.

One of the biggest changes I made was being proactive with my actions. For example, I scheduled and conducted user testing with the account managers twice before signing off to gain new insights.

Feedback that I wrote down on my working file while presenting to the AMs

Feedback that I wrote down on my working file while presenting to the AMs

Broader scope, ownership, and influence

The broad scope made this project especially interesting. There were 3 main flows that I had to account for, each intricate in their own way. To design effectively, I prioritized them as listed below:

  1. Scheduling a report

  2. Managing a report

  3. Viewing the history of all generated reports

I also had more ownership and influence beyond making design decisions. Because my PM was still finishing up the PRD at the time, I guided him on the features that our users would need, shaping the broader product direction. For example, I advised that a “custom schedule” option wasn’t necessary for the MVP, as most users generate reports on consistent, regular intervals instead.

The solution: what I left off with...

The solution: what I left off with...

Product features that automate scheduling, managing, and sending reports

Before I left, I transferred over the project ownership to my manager and onboarded her onto the work for her to continue. Even though the details are still WIP, here are the broader direction of the features:

Feature #1: Scheduling a report

When generating a report, users have the option to make it recurring under the other inputs that correspond to the report details.

In addition to scheduling, users can now add recipients and send the report (and subsequent reports) directly to others, instead of having to mail it manually each time.

Feature #2: Managing a report

Users can create up to 10 report schedules, and they can view and manage these schedules in a separate table, as shown below.

Feature #3: Viewing the history of all generated reports (report center table redesign)

Users can view a log of the generated reports through the report center table. Previously, it only displayed system-generated monthly statements, but I increased its utility to include other reports.

Epilogue

Learnings & reflections

Learnings & reflections

Think holistically, ideate exhaustively, execute purposefully.

I learned the importance of designing with the entire flow in mind through trial and error. Considering designs more broadly (and within a system) for scalability is a skill that I’m still working on improving.

Considering all feasible options is also an important part of the design process that I improved on. I gathered inspiration from a wide range of products and narrowed down the options using CDS.

In terms of execution, my manager introduced me to the philosophy of reductivism. Every decision should have a purpose, and I’d like to keep practicing this in my designs.

Leverage and lean on cross-functional partners.

XF partners limited my ability to be creative, but from another perspective, they clarified the scope and justified a specific decision over others. Especially at Insto, this was key to making successful decisions.

Effective prioritization is key to a successful project.

Breadth vs. depth

Not every problem can be solved at once, and not every idea can be fleshed out. During my time, I explored different ways to prioritize workflows and experimented how far I go into each iteration before trying a new one - this is another skill I’d love to continue developing as I progress.

LinkedIn

Email

Updated: January 2025

Updated: January 2025

Updated: January 2025