What it does
A warehouse lead opens one recall notice, clicks Issue hold warrant, and reviews the recall notice, Elastic evidence packet, inventory rows, validator state, and print queue on one screen. Recall Warrant Printer only creates a HOLD packet when the exact SKU, lot range, evidence packet ID, and query hash pass deterministic checks.
The final artifact is not a paragraph. It is a replayable shelf hold packet with HOLD-2406-118, affected units, an inventory diff, Elastic document IDs, a query hash, and a mobile proof route for the manager at the shelf.
How we built it
The app uses Next.js App Router on Cloudflare Workers through OpenNext. Gemini extracts recall risk fields and drafts the bounded evidence plan. Elastic MCP supplies the packet and query hash used by the warrant gate. TypeScript validation owns print permission so the model cannot create a label by itself.
The deployed product includes the workbench, evidence route, review route, hold packet route, mobile proof route, and Playwright deployed smoke tests.
Why it fits the hackathon
- Technological implementation: Gemini, Elastic MCP, Cloudflare Workers, OpenNext, and Playwright are wired into one deployed workflow.
- Design: The first screen is an operations workbench for recall review, not a chat page.
- Potential impact: Retail teams can reduce wrong shelf pulls and preserve proof for every hold label.
- Quality of idea: The product makes proof the permission gate for a physical label.
Challenges we ran into
The hard part was keeping Gemini useful without letting it become the authority. The split is deliberate: Gemini extracts and plans; Elastic evidence supplies the proof; the validator decides whether the label can print.
Accomplishments that we're proud of
The live product records a full recall flow in 110.9 seconds: public Worker, workbench click, Elastic packet, validator review, HOLD packet, mobile handoff, and architecture proof.
What we learned
For operational AI, the winning pattern is not a better answer. It is a bounded action that carries its own proof and refuses to move when proof is missing.
What's next for Recall Warrant Printer
Add a real D1/R2-backed case store, generate the label PDF from the HOLD packet, and let operators upload new recall notices instead of using the deterministic sample case.
Built With
- cloudflare-workers
- elastic-mcp
- elasticsearch
- google-gemini
- hyperframes
- lucide-react
- next.js
- opennext
- playwright
- radix-ui
- tailwind-css
- typescript
Log in or sign up for Devpost to join the conversation.