Inspiration

Design patent infringement costs fashion brands millions annually, but designers are often unaware of infringement until they receive a cease-and-desist. For young and emerging brands, this can be destructive and is simultaneously an intractable issue: they do not have the bandwidth financially or temporally to hire a legal team and/or scour patent databases, but they run a fatal risk not doing so. To remove this significant financial barrier from fashion entrepreneurship, and allow creatives to focus on artistic expression, I created Patalert.

What it does

Upload a product image, describe your design, and Patalert returns a real-time infringement risk report backed by live USPTO data from their Patents API in under 30 seconds. Claude's vision API decomposes the image into its ornamental elements to use as search terms. Those elements drive a query to the USPTO Open Data Portal API, filtered to design patents. Claude then acts as a design patent attorney, assessing risk per element and surfacing matching patents with similarity explanations, and uses its training to catch blindspots that the USPTO API may miss when queried due to query limitations. Users can bookmark patents for their IP team or for themselves to review later.

How we built it

Next.js App Router with TypeScript. Claude handles vision-based element extraction, and legal risk reasoning using the ordinary observer test applied in US design patent disputes (Gorham Company v. White, 1871; Egyptian Goddess v. Swisa, 2008). The USPTO ODP API provides live patent search via POST with structured filters. localStorage is used for the demo, with a Supabase and Railway deployment path ready post-hackathon, with next steps using clerk for user auth to support a multi-user ecosystem

Challenges

The USPTO ODP API requires careful query construction, as multi-word phrases return 404s often. Keywords were tokenised to single terms before querying to fix this issue. Design patents are filed under generic titles like "Shoe" or "Handbag" rather than brand names, so famous marks like Louboutin and Chanel are surfaced through Claude's training knowledge while the live search catches unknown active patents. Currently, the PatentsView API is not accepting new requests, but once available, can be easily integrated into the app's framework via modification of routes.ts.

What we learned

Claude's vision reasoning is adept at identifying ornamental elements relevant to patent law. It can correctly distinguish protectable ornamental features from functional ones without explicit instruction. The two-layer approach (training knowledge + live data) covers both famous protected designs and obscure active patents that pose real risk. The USPTO ODP API is very precise with its query language and also suffers the issue of design patents having relatively generic names. By studying API documentation and working with Claude, we were able to tokenise Claude's extracted keywords to single terms according to a created category map, and prepended category-specific words before querying to standardize and simplify queries. If the live search returns nothing after two attempts we put in a fallback method to default gracefully to Claude's training knowledge, labelling the source transparently in the UI. Additionally, with Claude's help, I added extensive console logging to track the progress made in querying the USPTO ODP API so that I could easily track errors and track what had to be modified in the way the API was queried.

Built With

Share this project:

Updates