Rye.com
Scaling Rye’s Dashboard to serve $10B+ enterprise non-technical teams
How I redesigned a dashboard originally built for developers to support non-technical leadership and enterprise customer success teams.
Highlights
Customers see the value Rye delivers the moment they open the dashboard.
Jump to any product, order or customer in a few keystrokes.
Support teams see where any order is at a glance, without asking Rye.
Developers press ` to see the API requests and webhooks behind any order, without leaving the page.
Overview
Rye lets developers sell any product from any store in their app
Rye powers shopping experiences for $10B+ consumer fintechs, AI shopping assistants and marketplaces. Rye orchestrates a fleet of agents that allow users on customer’s apps to order anything from any store on the internet.
In Rye’s early days, a barebones developer dashboard that just showed API keys and tracked the status of API calls was sufficient. With small teams (e.g. 10-people start ups) and low order volumes, they were able to check on orders directly through the API.
As we grew to serve scaleups and enterprise customers, the company saw three challenges in customer success and retention:
- Leadership had no visibility into how Rye is driving impact for their business. Our dashboard was for managing API keys.
- Non-technical users had no easy way of doing their jobs (e.g. order refunds, cancellations, and status checks). Everything was done through API calls up until that point.
- We started patch-fixing these issues by building ad-hoc tabs. This approach quickly made the dashboard challenging to navigate and information was buried, ultimately adding burden to our CS and engineers.
I therefore led this redesign of the dashboard to make sure we can serve the unique needs of enterprise customers in a scalable and reliable way, while saving time for our CS and engineers.
The redesign
I based the redesign on three key principles to address the challenges:
- Business insights first. Leadership and decision makers need to see Rye’s impact upfront, which directly drove retention and increased LTV of these customers.
- Order management second. Customer support teams need to self-serve reliably so Rye can scale without adding burden to our CS and engineers.
- Maintain developer experience. Developers still need an easy way to onboard and debug any issues.
For leadership
Communicating Rye’s value instantly
The home page is designed to help leadership answer two questions:
- How much money am I making with Rye?
- If so, what are the opportunities to make more?
For support
Empowering non-technical support teams
The goal was to help non-technical users:
- Identify the status of an order - was it successful or not, and why?
- Make manual changes to the order e.g. handling cancellations, refunds, or returns
Making API states human-friendly and useful
One of the key challenges was to figure out a way to communicate Rye’s 37 API response states simply to the user and in a way that clearly indicates what action needs to be taken to resolve it if needed.
| The API says | The dashboard says | Why |
|---|---|---|
failed | Not placed | The order never reached the merchant. Nothing was charged. |
completed | Order placed | The merchant confirmed the order. Shipping is tracked separately. |
cancellation: requested | Cancellation requested | Sent to the merchant, who hasn’t confirmed it yet. |
placing_ | Placing order | The customer paid. Rye is placing it with the merchant. |
shipment: delayed | Delayed | The carrier pushed the delivery date. Shown with the new date. |
Of those 37 states, 23 are failures. I sorted all the failures by who can fix them: support, developers, or Rye.
A customer is waiting. There’s something to say or do.
- Payment declined
payment_failed - Card expired
payment_cvc_ expired - Sold out
product_out_ of_ stock - Not enough stock
insufficient_stock - Address not accepted
form_validation_ error - Price over limit
constraint_total_ price_ exceeded - Shipping over limit
constraint_shipping_ cost_ exceeded
The integration sent something a store can’t use.
- Size or color missing
variant_selections_ required - Size or color invalid
variant_selections_ invalid - Request was invalid
invalid_input - Product page not found
product_not_ found - Store needs an account
unsupported_store_ no_ guest_ checkout - + 4 more
Ours to fix. We’re alerted before anyone asks.
- Couldn’t get a price
offer_retrieval_ failed - Merchant didn’t confirm
order_placement_ failed - Store blocked checkout
bot_protection_ blocked - Store asked for a captcha
captcha_blocked - Totals didn’t match
incorrect_cost_ breakdown - + 2 more
Every order that needs attention names who has to act, so no one has to guess whose problem it is.
Details to make managing orders easier
- DeliveredOct 21, 2026, 4:48:12 PM · 23:48 UTC16 min ago
Human timing
An order’s timeline says “16 min ago”, the way a customer would. Hover for the exact time and UTC.
Everything is copy-able
Click any ID or tracking number and it’s copied. Support’s next move is almost always a paste.
Status updates without refresh
Orders update in place as the merchant confirms them and they ship, without a refresh.
For developers
The API logs are always one keystroke away
The inspector opens over any screen with ` so developers can access relevant API logs anytime to help debug specific orders.
The dashboard is redesigned to have orders as the primary atomic unit, instead of by API calls. This way one dashboard can cater to customer support, enterprise engineers, and indie-developers' workflows.
Impact
One dashboard, powering $50M in GMV from startups and enterprises
We shipped the dashboard over a few weeks. Two months after launch:
Most of the customer questions stopped. The ones that still reached us in Slack were questions only Rye could answer.
Within a year the same dashboard served 45 customers, from two-person startups to a $10B+ credit card fintech, placing millions of dollars of orders a month at 98.9% checkout success, with their developers, customer success teams and leadership all working in it.
Reflection
What I learned
- Be crystal clear who we’re building for. We initially redesigned the dashboard with only our customers' CS staff in mind since this was the process bottleneck that risked our customers from churning. However, we realized that the primary stakeholder we should build for was leadership because they were the ultimate decision maker on whether they continued with Rye or not. This led me to add the business metrics dashboard and placed it front and centre.
- Pre-empt issues before customers hit the walls. Knowing how much the dashboard ended up impacting retention for customers of all sizes, I’d have prioritized it as soon as we entered enterprise. Instead we started as enterprise customers were rolling out and running into limits.
- Listen to everyone who uses the product. I spent most of my time talking with leadership at customers that I overlooked customer success teams, the people in the dashboard every day. They drove whether a product was adopted as intended or not which could lead to churn. Now I keep a close pulse on the feedback and experience of everyone who touches what I build.