Product Case Study
Product Data Platform (Product Catalog)
A 0→1 product data platform that normalized product data across five ingestion sources into one schema, taxonomy, and identity model.
APIs, SFTP, cloud storage, UI uploads, and e-commerce connectors each delivered product data in their own shape — with no shared way to resolve the same product, its variants, or its parent across feeds. The merchandiser browse/drilldown view below was one downstream consumer of the platform, and it became a cited differentiator across enterprise sales opportunities.
Product
0→1 product data platform
Impact
Cited sales differentiator
Stack
React + TypeScript + GraphQL
Outcome
$1.1M+ influenced ARR
Representative Product Demonstration — This page recreates the product experience using original HTML/CSS components and synthetic data. It illustrates the product concepts, UX, and technical implementation while avoiding reproduction of proprietary interfaces.
Try It
Browse a category. Open a product.
The experience below represents one downstream consumer of the product data platform. Behind it sits a normalized product model, ingestion framework, taxonomy, product-identity rules, and validation and transformation pipeline that also fed personalization, recommendations, and campaign targeting. Try it below — click through the category tree on the left, switch between list and grid view, or click any product or category to open its analytics panel. Everything below is a working, original recreation of the interaction model, running on synthetic data.
All Products — Last 30 Days
Total Revenue
$1.3M
+8%Total Purchases
18.4K
+5%Total Views
412.8K
+12%Cart Abandons
9.8K
-6%Case Study
The story behind the product
The Insight
Product data arrived through five different doors, and none of them agreed
APIs, SFTP, cloud storage, UI uploads, and e-commerce connectors each delivered product data in their own shape. Nothing enforced a shared schema or taxonomy, and there was no reliable way to answer the basic question underneath every downstream decision: is this the same product, a variant, or a different listing entirely?
The Product Thesis
A normalized product data platform, not another catalog UI
Create a normalized product data platform capable of ingesting multiple source types, enforcing a consistent schema and taxonomy, resolving product identity — same product, variant, or parent, with clear attribute inheritance and overrides — and providing a trusted foundation for downstream capabilities including personalization, recommendations, campaigns, and analytics.
The Outcome
The platform, proven by one of its consumers
The merchandiser browse/drilldown view was one downstream consumer of the platform — built to prove the underlying model held up under a real workflow. It became a capability prospects asked about directly, cited as a differentiator across enterprise sales opportunities and $1.1M+ in influenced ARR credited to solving the harder problem underneath: normalizing product data.
My Role
Sole product owner, concept to shipped capability
Product Leadership
- Owned the ingestion strategy across five source types: APIs, SFTP, cloud storage, UI uploads, and e-commerce connectors
- Designed the schema, 10+ level taxonomy, and product-identity rules — same product vs. variant vs. parent, attribute inheritance and overrides
- Defined the category-drilldown and analytics-panel interaction model as the platform's first downstream consumer
- Prioritized MVP scope, then extended the platform's reach into personalization, recommendations, and campaign targeting
- Positioned the platform as a competitive differentiator in enterprise sales conversations
Technical Direction
- Ingestion framework spanning APIs, SFTP, cloud storage, UI uploads, and e-commerce connectors
- Schema design, validation, and transformation pipeline enforcing a consistent product model across sources
- Hierarchical taxonomy (10+ levels) with attribute inheritance and override rules
- Product identity resolution — matching and mapping the same product, its variants, and its parent across feeds
- React + TypeScript front end with a GraphQL API layer, cursor-based pagination, and a multi-panel drillable interface for the merchandiser-facing consumer
Outcome
What happened
- Normalized product data from five disparate ingestion sources into one consistent schema and taxonomy.
- Resolved product identity — same product, variant, or parent — across every source feed.
- Powered downstream capabilities beyond the catalog UI: personalization, recommendations, campaign targeting, and analytics.
- Gave merchandisers a single browsable view of category and product performance instead of static exports.
- Became a cited differentiator across enterprise sales opportunities.
- Directly influenced $1.1M+ in ARR.
What I'd Build Next
- Expanded Create Segment options — the criteria shown here, plus inverse segments (didn't purchase, didn't view, didn't abandon)
- More analytics within the side panel, with more call-to-action options
- Simple campaign creation directly from the catalog, via a campaign modal or slide-over
- AI insights — product clusters, recommended segments, and product recommendations
- A channel-sourced lens for the unified listing panel, toggled alongside the behavioral-signal view
Why This Matters
The hard problem was never the browse screen — it was making the platform agree with itself on what a product is, across five ingestion sources and a 10+ level taxonomy. This is what that looks like when product thinking and hands-on engineering come from the same person.