Agents for Humans: Building RecallZero, an agent that finishes product recalls
How I built a governed Strands remedy agent around official CPSC recall data, deterministic safety gates, and a controlled sandbox—and what remains before Bedrock deployment.
Product recalls are important, repetitive, and easy to leave unfinished. Learning that a product is unsafe is only the start. You still have to establish whether your exact unit is affected, read official instructions, collect evidence, contact the provider, follow up, and confirm the remedy.
For the Agents for Humans Hackathon, I built RecallZero around one outcome: unresolved recalled products should return to zero.
The design question
Giving an LLM a recall feed and asking it to decide what to do would make a quick demo, but product identity is a safety boundary. Similar names and confident model answers cannot prove that an exact unit is covered. RecallZero instead separates official facts, deterministic identity checks, agentic work, human physical work, and completion verification.
- Purchase evidence becomes an Asset Passport.
- Recall facts come from the official US CPSC API, with an explicitly labeled official snapshot fallback.
- Deterministic code checks product family, model, retailer, and purchase window.
- Only an
EXACT_MATCHcan create a Remedy Contract. - The Strands runtime accepts that contract and exposes only narrow, allowlisted tools.
- The physical safety step requires human evidence.
- Sandbox submission is distinct from resolution; evidence and provider confirmation are both required before
REMEDIATED.
The agent is useful precisely because its authority is bounded.
Why Strands Agents
Model reasoning can help interpret an already verified remedy contract, select narrow tools, and progress routine digital work. The Python Strands runtime registers tools for contract inspection, sandbox claim preparation, physical-evidence requests, idempotent sandbox submission, and outcome checks.
The runtime includes an Amazon Bedrock model adapter and a
BedrockAgentCoreApp entrypoint. I verified that the real Strands SDK constructs the agent and invokes its governed tools. I have not verified an LLM-driven Bedrock invocation or AgentCore deployment. The public web demo openly uses a deterministic protocol mirror rather than pretending it contacted the cloud agent.The concrete judge path
The demo combines a synthetic Wantefully XR-8801 purchase with a real CPSC recall . The app attempts a live official lookup and clearly labels its official snapshot if the government API times out. Four identity predicates then establish the exact match and permit a Remedy Contract.
The physical step remains with a human. The demo uses prepared synthetic evidence, so no real product is damaged. The provider workflow runs in a RecallZero-controlled sandbox; no test claim is sent to the manufacturer. Submission leaves the case open until the sandbox provider approval and evidence satisfy the completion gate.
Explore the live demo and inspect the source and architecture diagram .
What I learned
For consequential agent workflows, separate authoritative facts from model interpretation, deterministic gates from semantic reasoning, digital steps from physical steps, and a submitted request from verified completion. That separation made RecallZero testable: the repository contains TypeScript matching and workflow tests, Python policy and Strands boundary tests, repeated desktop/mobile browser journeys, and CI for lint, type checking, safety checks, and production builds.
Where AWS fits next
Strands provides the governed tool boundary today. Amazon Bedrock and AgentCore are the next production targets. The remaining work is a verified Bedrock/AgentCore invocation, durable background scheduling, observability, and opt-in ownership sources. None of those are claimed as deployed in the current public demo.
Closing thought
A person should not need to become a recall case manager because something they bought became unsafe. Software should handle the repetitive work, ask for help where the physical world requires a person, and prove the outcome.
Project: RecallZero · Hackathon: Agents for Humans · Source: github.com/vivekyarra/RecallZero
Enjoyed reading this content? Let the author know!
Your likes, comments, shares, and saves help creators reach more builders.
Loading recommendations
Loading article