try it

describe an invention in a sentence and get back a sourced patent brief. use a made-up idea: a search query can itself disclose an invention.

overview

Patrick is what my teammate (cruz-andr) and I built in a day for the AINU Chatathon 2026, in the Misneach track. The prompt was "build the hire an early founder can't afford yet", and entries had to name a specific founder and a specific bottleneck.

Ours: a first-time product founder with no research specialist and no patent budget, who needs to know what already exists before spending months building. Patent records are written in deliberately broad legal language and indexed by classification codes a newcomer has never seen, so founders either skip the search and build blind or stall for weeks. Patrick takes a plain-language description, plans a search, pulls real patents, quotes the passages that touch the idea, suggests alternative approaches, and hands back a brief to take to a patent attorney. It turns the first paid hour with a lawyer from orientation into answers.

how it works

understand the invention: Founders explain what an invention does; patents describe how it works. Patrick pulls technical features out of the description and asks clarifying questions: how is the material identified, what sensors are involved, where does inference happen.
a search plan you approve: It proposes features and search queries, and the founder edits and confirms them before anything is searched.
real evidence: Up to three Google Patents searches, then full details for the top records, and the exact passages that relate to each feature.
a brief for counsel: Conclusions first, then the relevant patents, feature comparisons with quotes, alternative approaches with their tradeoffs, questions for a patent professional, and exactly what was and wasn't searched. It exports as Markdown, LaTeX or a typeset PDF.

rules that don't bend

A tool that talks about other people's legal rights can do real damage by sounding confident. So the whole project was built around a few rules that hold in the code, the model prompts, the interface and the pitch.

never fabricate a record: Publication numbers, claims, dates and legal statuses come from the patent provider or they don't exist. The model never supplies them.
no legal verdicts: No "patentable", no "safe to build", no risk percentages, in any wording. Patrick prepares the founder for counsel; it doesn't replace counsel.
absence isn't evidence: Zero results means these searches found nothing, not that the idea is new. Every empty state says so.
every claim quotes its source: A comparison has to quote the same patent it's about, word for word, and the backend checks that the quote really appears there. That proves the text is real, not that the interpretation is right, and the report says that too.

what i built

the frontend: A zero-dependency static app (ES modules, no framework, no build step) that walks through idea, reviewed plan, search and report. Every string from the API, the model or a patent is written with textContent, never as HTML. I later rebuilt the landing page around the investigation when we rebranded as Patrick.
the operating rules: I wrote the rules above down as a file the coding agents working in the repo had to follow, and documented the AI output contract: the model returns one JSON object, the backend rebuilds it field by field from a whitelist and throws away the rest, so a publication number or a date can only ever come from the retrieved record.
an offline layout harness: A fixture report built to hit every awkward case (a feature nobody compared, two patents with the same title, a failed search, a partial result), clearly labelled and using identifiers that aren't real patent numbers. Anyone could work on the report's layout without an API key or access to the model.
LaTeX and PDF briefs: The LaTeX export escapes every TeX control character in patent and model text, and the server typesets it with pdflatex with shell escape and file access turned off, so a malicious patent abstract can't run commands.

My teammate built the backend: the patent search provider, the model integration and its output validation, candidate ranking, an authenticated shared gateway with access codes and a job queue, and the public deploy.

construction

Node.js 22 ES modules SerpApi (Google Patents) Codex CLI LaTeX pdflatex SQLite Vercel Cloudflare Tunnel launchd node:test

There are no runtime dependencies at all: native HTTP and fetch on the server, plain ES modules in the browser. The model runs through the Codex CLI in a locked-down mode: read-only sandbox, no shell, no browser, no plugins, and input only over stdin. One model call runs at a time with a two-minute timeout, and the shared gateway queues the rest. 62 automated tests cover the backend without touching a live model or the patent provider.

architecture

browser → Vercel (static + proxy) → Cloudflare Tunnel → gateway + job queue (Mac mini) → Google Patents + Codex → Markdown / LaTeX / PDF brief

Vercel serves the frontend and a short proxy function that keeps its key server-side, so visitors need no account. Everything else runs on an always-on Mac mini under launchd. Reports live in memory for an hour and disappear on restart, and the coverage limits (three searches, details for the top three records) are shown in every report rather than hidden.

Source? It's on GitHub.