All Work
Product BuildE-commerce analytics

Marketplace Ops

An internal analytics product for an Amazon agency that reads Product Opportunity Explorer data and answers one question: which products are worth launching. Forty-nine screens across analytics, AI research and administration.

Marketplace Ops — Current Products — the working overview. Figures are stand-in data.
Current Products — the working overview. Figures are stand-in data.

The problem

Amazon's Product Opportunity Explorer gives sellers more data than any person can act on. Search volume, growth rates, competitor counts, review velocity, seasonality — all of it accurate, none of it a decision. Sellers were exporting it to spreadsheets and arguing about it.

The brief was not another dashboard. It was to turn a data feed into a verdict: given everything the marketplace knows about a product category, is this one worth launching.

The interface problem

A tool like this fails in a predictable way. It becomes forty-nine screens of tables, each technically complete and none of them answering the question, and the sellers go back to the spreadsheet they already trusted.

The central design decision was to make the product commit to an opinion. Every tracked product is classified as a home run, a hit, or a miss, and that classification is the first thing on the screen — not the seventh column of a table the user has to sort themselves. The underlying data is all still there, one level down, for the moment someone wants to disagree with the verdict. But the interface leads with a judgement, and the numbers exist to justify it.

The same principle governs the rest of the surface. A watchlist so a seller can narrow forty products to the four they actually care about. Alerts so the product tells them when something changed, rather than requiring a daily visit. Historical tracking so a claim about a trend can be checked rather than asserted.

The design system

Coral on warm cream, with a warm near-black for text. The deliberate choice was to avoid the cold blue-grey that almost every analytics product defaults to — this one is used for hours at a time by people making expensive decisions, and a warmer ground is easier to sit with.

The token set defines a monochromatic chart ramp — five tints of the same coral rather than five competing hues — so a chart reads as one dataset with an order to it, and colour never carries information that position and length already carry. Green and amber are held back for state, success and warning, so they mean something when they do appear.

Built on Radix primitives with a 0.5rem radius throughout, in a full light and dark token set.

Under the interface

Eight marketplace scrapers feed thirty-eight data models through a Redis-backed job queue, so a slow scrape never blocks a page. Claude handles the classification and the competitor research that would otherwise be an analyst's afternoon.

Access is invite-only with role-based permissions, and every administrative action is written to an audit log — the product was built as an internal tool with a multi-tenant SaaS structure already in place underneath it.

Palette

Primary

#FF8162

Coral — actions and alerts

Accent

#FFB57E

Secondary emphasis

Background

#FFFBF5

Warm cream, not white

Surface

#FFF1EA

Sidebar and muted panels

Foreground

#3D3637

Warm near-black

Success

#16A249

Reserved for state only

Scope

Screens
49
Components
79
Data models
38
API controllers
34
Scrapers
8
Tests
142

Screens

Marketplace Ops — AI Recommendations — opportunities ranked by impact score, each carrying its sources and a verify-before-actioning caveat.
AI Recommendations — opportunities ranked by impact score, each carrying its sources and a verify-before-actioning caveat.
Marketplace Ops — Data Sources — connection state for the five upstream integrations.
Data Sources — connection state for the five upstream integrations.

What we did

  • Product design
  • Design system
  • Interface design — 49 screens
  • Full-stack build
  • Data modelling
  • AI integration

Built with

  • React
  • TypeScript
  • Vite
  • Tailwind
  • Radix UI
  • TanStack Query
  • Recharts
  • Node.js
  • Express
  • MongoDB
  • Redis
  • BullMQ
  • Playwright
  • Claude
  • Docker