Supplo
A B2B platform that turns raw-material sourcing from a slow, relationship-driven hunt into a single search box — backed by a governed catalog of verified suppliers.
What this project was for
Turned raw-material sourcing into a single search box, backed by a governed catalog. We normalized ~4M messy ingredient records into a clean data model and built supplier + admin portals with zero-signup search.
The problem
For manufacturers across pharma, cosmetics, food, and chemicals, finding the right raw material means word-of-mouth, scattered directories, trade shows, and slow email — and capable suppliers stay invisible to the buyers who need them. Supplo's answer is deceptively simple: search a raw material, instantly see trusted suppliers who carry it. But a search box is only as good as the data behind it.
What we built
A buyer-facing search that earns trust
one-box search by name, CAS, or INCI number, no signup; matching suppliers appear instantly, then a polled background validation task refreshes with enriched results; filter by country and open full company profile pages.
Every dead-end search becomes a lead
a 'no results' page captures the buyer's email and routes a real sourcing request straight to a human.
A governed back office
one role-aware app: an admin control center over companies and the master catalog with verified/active/published gates, plus a supplier portal where each company self-manages its own profile and listings.
Built to run in production
4M flat records into a catalog you can trust
re-architected a single unnormalized table into a normalized company-to-ingredient schema; an OpenAI-assisted pipeline validated every URL, discarded broken ones, and derived clean canonical domains.
Slow backend work that feels instant
render the first batch immediately, poll the validation task, merge richer results as they arrive.
Two very different users in one product
role-aware architecture with separate admin and supplier auth, scoping each supplier to its own data.
Honoring an existing API contract exactly
mapped the domain up front and built a centralized cached data layer.
Results
Messy ingredient records normalized into a governed, trusted catalog.
Public search plus a role-based admin and supplier dashboard.
Signup required — buyers search and find suppliers instantly.
Verify-before-live publishing across every listing in the catalog.
How it was built
The product is a search box, so the real work was the data behind it: we re-architected a single unnormalized table of ~4M rows into a normalized company-to-ingredient schema, and ran an OpenAI-assisted pipeline that validated every URL, discarded the broken ones, and derived clean canonical domains.
Search feels instant despite slow validation work. The first batch of matches renders immediately, a background validation task is polled, and richer enriched results merge in as they arrive — so buyers never wait on the pipeline.
One role-aware application serves two very different users: an admin control center governs companies and the master catalog behind verified/active/published gates, while a supplier portal lets each company self-manage its own profile and listings, scoped to its own data.
4M rows into a trusted catalog
An unnormalized table re-architected into a normalized company-to-ingredient schema.
OpenAI-assisted data validation
Every URL validated, broken ones discarded, and clean canonical domains derived.
Instant-feel async search
Render the first batch, poll a background validation task, then merge richer results in.
Governed two-sided access
Role-aware admin + supplier portals with verify-before-live publishing gates.
What it runs on
Need a production system like this?
Tell us what you're building, fixing, automating, or scaling. Book a technical call to review scope, architecture, and timeline — or get an estimate and we'll come back with honest feedback on feasibility and approach.