Patently
Prior-art analysis that tells you which parts of your invention are already taught
2 LLM calls
per analysis, any corpus size
Overview
Describe what you're building in plain English and get back an element-by-element map of which parts the prior art already teaches, with the passage behind every finding — plus the whitespace nothing covers.
The problem
A semantic search over patents returns ten documents that look like your invention. That's the easy half, and a good Google Patents query roughly does it already. It doesn't answer the question you actually have, which is which parts of my invention are already taught, and by what.
Approach
A four-stage pipeline — decompose, retrieve, assess, synthesise — that spends exactly two LLM calls regardless of how many candidates come back. Everything computable is computed rather than asked, which is why the combination analysis and the scoring are reproducible across runs. Embedding one whole paragraph averages away the specifics that decide novelty, so retrieval runs several targeted angles separately and fuses the rankings. The embeddings service is a container rather than a serverless function: the vectors already in Qdrant came from BERT-Large, so query vectors must too. The image bakes in the 1.3 GB model and installs CPU-only torch, making a cold start a disk read rather than a download — measured resident memory is about 580 MB because the weights are memory-mapped.
What it does
- Claim-element decomposition — breaks a description into the discrete features a novelty search actually has to clear
- Multi-angle retrieval across 4–6 targeted searches, fused with Reciprocal Rank Fusion so consistent mid-pack hits beat one-angle spikes
- Every quote verified verbatim against its source abstract; a citation that can't be located is downgraded automatically
- §103 combination risk found by exhaustive set arithmetic over the coverage matrix, not by asking a model
- 88 tests covering quote grounding, rank fusion, the §103 arithmetic and the inconclusive guard — no network, no API key
What I learned
The most important output turned out to be the refusal. When the corpus has nothing in your field, Patently returns Inconclusive instead of a clean 100/100 — an absence only means something if you know what was searched and what came back, and a tool that mistakes an empty index for a novelty clearance is worse than no tool at all. The same instinct drove the guided form: a blank textarea rewards people who already write like a patent attorney and quietly gives everyone else a worse search.