A Birkin Is Not a Keyword: The AI Stack I Had to Build Because Nobody Else Had

Every pricing and competitive-intelligence tool built in the last decade rests on the same assumption: a product is a string of words, and two products are the same if the words match. It's a primitive that held up fine when commerce meant selling the same mass-produced SKUs on the same handful of marketplaces. It breaks the moment a product is actually unique.
A 2022 Birkin 25 in gold hardware is not the same asset as a 2024 palladium version. A 2018 Chanel Medium Classic Flap in caviar with gold hardware is not the same asset as a 2022 lambskin with silver hardware. A Goyard with a patina is a different product than one in mint condition. A DS-condition Jordan drop is a different product than the retail release in "Very Good." Every one of those pairs prices differently, often by multiples, and every off-the-shelf pricing tool on the market flattens them into one line item.
A Birkin is not a keyword. Neither is a sneaker drop, a designer collaboration, a limited edition, or an outlet-line cut of a full-line bag. The further commerce drifts from mass retail, the more the keyword-matching primitive produces numbers that feel right and are wrong.
I know this because I spent almost four years staring at it from the operator's chair.
The view from the seat
For almost four years I ran technology at Vivrelle, the luxury handbag membership club where members rent Birkins, Kellys, Chanel Classic Flaps, and any other bag in the rotation for a monthly fee, swap them whenever they want, or buy the pieces they fall in love with at a member-only price.
Vivrelle is not a small operation. Thousands of serialized SKUs. A worldwide network of dealers the founders have been cultivating since day one. A fulfillment operation moving thousands of dollars of Chanel and Louis Vuitton in and out of members' closets every week. A flagship in SoHo. About a hundred people. A $62M Series C closed last summer.
Running all of that meant making one hard call a hundred times a day: what is this bag worth, today, across every marketplace, on both sides of the trade? Accepting a dealer's offer on a Kelly. Listing a returned Chanel. Pricing a member's buyout on a bag they'd been renting for six months. Deciding whether to stock a rare Dior in the first place. Every decision moved real margin. Every decision was made off a spreadsheet stitched together from ten-plus marketplaces, each showing different prices, different condition grades, different hardware variants, different vintage years.
The most important lever in my business was the one I couldn't see clearly.

The architecture of the wrong answer
So I did what any operator does. I looked for software to solve it. I sat through every pricing and competitive-intelligence demo. I evaluated every vendor. The pattern was the same every single time.
Conventional price intelligence pipelines look roughly identical on the inside: scrape marketplace listings at scale, normalize product titles into a flat string, match strings across sources with fuzzy text comparison, aggregate into a price statistic, ship. It's fast and it's cheap, and at the level of abstraction it operates on, it's often close enough.
"Close enough" is the problem. The gap between a directionally correct number and the actual price of the actual asset in front of you is where margin lives. Every merchant in recommerce, luxury resale, sneakers, streetwear, collectibles, any category where product nuance moves price, has been paying that gap as a tax.
Platform-native tools (the pricing suggestions a marketplace surfaces in its seller flow) have the opposite problem. They're grounded in real transactions, so they're accurate. But they can only see their own pond. Nobody has the cross-market view a serious operator needs to price a unique asset against the entire market at once.
Authentication platforms confirm the bag. They do not price it.
Into that gap: nothing.
Why I went and built it myself
My whole career has been on the buyer side of commerce software. Engineering leadership at multiple ecommerce companies, always purchasing the tools, living with them, wishing they worked a little better. At Vivrelle I ran into a problem no vendor could solve, and I realized I'd spent long enough being a customer of bad software. In December 2023, with Harry and Peter, I co-founded ShopVision to build the product I'd been trying to buy for years.
What we built is the first attempt to do pricing intelligence from the ground up on a different primitive: treat each product as a unique asset, and reason about it the way a senior human buyer would.
The system has 4 layers. Each one is doing work that legacy pricing tools skip.

1. Visual embeddings instead of string matching
A bag is photographed differently on every marketplace. Sometimes on white seamless, sometimes on a model walking down the street, sometimes from angles that would confuse any caption. The matching engine uses direct visual embeddings to recognize the same model across every shot, regardless of how it's been staged or described. It is not reading titles. It is looking at the bag. A keyword scraper cannot do this. It does not know that a bag is a bag.
2. Taxonomy normalization across languages and marketplaces
Every marketplace labels things slightly differently. A Damier Azur Croisette on one platform is a "Louis Vuitton Croisette Damier Azur Canvas" on another. A European listing might sit under French category tags. A Japanese seller might use katakana for hardware color. The system resolves every candidate against a normalized taxonomy that works across marketplaces and languages, so category and brand are confirmed before anything price-related runs.
3. Attribute extraction at the level of a senior buyer
This is where most tools stop and where ShopVision starts. From the product detail page, the model extracts the fields a senior buyer would check before making an offer: materials, dimensions, hardware, year, condition grade, country of origin, serial identifiers. Not tags. Not metadata. The substance of the product itself, structured, comparable, and normalized against the same taxonomy the matching engine works from. These are exactly the fields I used to check by hand, one tab at a time.
4. Match reasoning with exact / partial / rejected logic
The system finds candidates across every marketplace that matters and scores the match, but instead of returning a similarity score, it returns a reason. When the bag is a perfect match, it says so. When it's close but not identical (same model, different hardware, different year), it flags the nuance. When two bags would have been confused by a keyword scraper, it rejects the candidate and explains why in plain language. Every decision in the pipeline is legible, auditable, and overridable. A pricer can trust it, challenge it, or override it with one click.
Cross-marketplace signal normalization
Once the matches are clean, four signals feed every price recommendation: what's actively listed right now across every channel, how scarce the specific variant is at this moment, how quickly comparable items are clearing, and how condition moves value platform by platform. Nobody had normalized these four signals across the resale market before. It is not a new idea that listings, scarcity, velocity, and condition move price. It is a new capability to compute them cleanly, continuously, across every marketplace, on the same underlying matches.
The output is not a price. It's three prices (sell fast, market rate, top dollar) with screenshot-level citations under every recommendation. Any operator can open any number and see the exact listings, in their current state, that built it. It's the answer I spent four years trying to assemble by hand.
Why the assembly is the innovation
None of the individual layers, in isolation, is novel. Visual embeddings exist. Multilingual taxonomy normalization exists. LLM-driven attribute extraction exists. Scraping at scale exists.
What did not exist, until we built it, is all of it assembled into one system, operating continuously across every marketplace that matters, with full auditability on every data point, at the scale a real marketplace or reseller can actually use.
That is the category-making claim. ShopVision is not a better scraper. It is the first pricing-intelligence system built from the ground up to treat each product as a unique asset and reason about it the way a human expert would, continuously, across the entire market.
Retail pricing tools are keyword-based. Platform-native tools are captive to their own listings. Authentication platforms stop at provenance. We built a new primitive underneath the problem.
The proof
Vivrelle, my old team, runs on it. The catalog they priced by hand for years, across ten-plus marketplaces on fragmented data, is priced today by ShopVision. It's the same catalog our team uses to demonstrate the product. The proof is the product.
A growing set of recommerce operators are joining. The pattern is always the same: teams that had been pricing blind, making calls on fragmented data, realize they don't have to anymore.

What this unlocks beyond luxury
The luxury bag market is the sharpest, most unforgiving expression of the problem. But the primitive we fixed (products as unique assets, not keywords) applies anywhere product nuance moves price. Sneakers. Watches. Jewelry. Outlet versus full-line. Designer collaborations. Limited editions. Every recommerce marketplace. Every brand running a resale channel. Every pre-owned retailer deciding what to list and at what price.
The category-making move is not "a better luxury pricing tool." It's a different primitive, product as unique asset, reasoned about the way a human expert would, wired into a continuous system that runs across the whole market at once. Luxury resale is where it proves out first, because the cost of being wrong is highest. Every adjacent category follows.
Our whole team at ShopVision comes from commerce. We were the ones buying the software that never quite worked, living with the spreadsheets, making decisions on incomplete data. I spent four years at Vivrelle on the operator side of exactly this gap before I decided to build the other side of it. If accurate product matching and pricing intelligence is something you're struggling with, I'm interested to hear your take on this approach. You can book time to see it in action and share your feedback.