Skip to content
granite labs

Product Lab case study

  • Brand
  • Product
  • Engineering
  • AI

Sourcing research

The Product Lab review screen for a Wella hair colour listing: supplier row, matched Amazon listings by pack size, checks and unit economics, tilted on a dark plane of neighbouring products.

Case study · 2026

The sourcing researcher you never have to hire. Product Lab checks every row of a supplier price list against Amazon and brings back what qualifies.

What we did

  • Brand identity
  • Product design
  • Web app and website
  • API and data pipeline
  • Model training

Long story short

Granite Labs designed and built Product Lab end to end: the brand, the app, the website, the API and the model training pipeline.

Highlights

  • Listings checked in the US, UK and EU
  • Images, pack and variant before margin
  • One keystroke when a pack is unclear
  • Forty rules, one master per component

For

Amazon resellers sourcing from supplier price lists

Markets

United States, United Kingdom and the EU marketplaces

The Product Lab box mark drawn on its construction grid, with measurements in blue.
The listings card on yellow, annotated: each colour has one meaning, from qualifies in green to your call in orange.

The challenge

Up to 50,000 rows

A supplier price list can run to thousands of rows. Each one has to be matched to its Amazon listings, checked for pack and variant, and priced against fees before anyone decides what to buy.

The product had to do that work in the background and stay honest about doubt. When a listing's title says six and its photo shows three, a person makes the call.

AI search
38,520listings from 9,630 searches
AI screen
4,280could be your product
AI photo check
1,912matched, every pack counted
Priced on your costs
196listings worth buying

One price list, four passes

Search, screen, photo check, pricing

The product plane: nine product screens laid out as a map, the current one ringed in yellow, with arrow keys showing how review moves between them.

The product plane

Fly through review. Nothing ever loads.

A pack question card beside the keycaps that answer it: 1, 2 and X to answer, Command K to search, arrow keys to move across the product plane.

Review by keyboard

One keystroke per answer

The approach

One way to draw each thing

The screens had drifted into two to five versions of each element. We wrote forty hard rules and gave every component one master, so the app, the website and the sign-in pages speak one language.

Paper tokens are the code tokens, and a lint of eight checks runs before any board loses its review tag. Yellow never marks a problem. It marks the brand, where you are, and a run that is still going.

  • FFF6D6
  • FFE59A
  • FFD45C
  • F2B93B
  • 7A5600

One yellow, five steps

Brand, place, live runs. Never a status.

Hanken Grotesk Bold specimen: a large Aa.
Paper Mono specimen on ink: an ASIN and a barcode number, set in yellow and white.
Three moods of the box mark on cream: hello, checking and done.

The build

Five apps, one repo

One Turborepo holds five apps: a NestJS API, the TanStack Start app, the Next.js website, a generator that builds training data, and a Python trainer that fine-tunes small language models on Modal.

Runs queue on Redis and carry on when the tab is closed. Results land in Postgres through Drizzle, and files in Cloudflare R2. Every screen ships from the same Paper tokens.

Stack

What it runs on

  • Next.jsWebsite
  • TanStack StartApp
  • NitroApp server
  • ReactInterface
  • Tailwind CSSStyling
  • NestJSAPI
  • PostgreSQLDatabase
  • DrizzleORM
  • RedisQueues
  • Better AuthSign-in
  • VercelHosting
  • Cloudflare R2File storage
  • StripePayments
  • AutumnBilling
  • ResendEmail
  • AnthropicModels
  • OpenAIModels
  • ModalTraining
  • TurborepoMonorepo
  • PaperDesign
The Product Lab website in a browser window: the sourcing researcher you never have to hire.
The column mapping dialog: supplier price list columns matched to Product Lab fields.
The search palette, opened from anywhere with Command K.
The unit economics card: price, fees and cost per unit, ending in the profit on one sale of the pack.

Next study

Also in the house