Reclaimo — Autonomous Price Recovery Agent
What it does
You bought a MacBook. Two weeks later the price dropped $200. You'll never know.
Reclaimo fixes that. Drop in a receipt — photo, PDF, screenshot — and a multi-agent pipeline takes over: it monitors the price autonomously, detects the drop, analyzes the retailer's price match policy, drafts a claim email with Claude, and sends it. No dashboards to check, no forms to fill out. You get an email from the retailer with your refund.
Inspiration
Price match guarantees exist at almost every major retailer. Almost nobody uses them — the window is short, the process is manual, and most people forget they even bought the thing. This is exactly the kind of tedious, time-sensitive, multi-step workflow that agentic systems are built for.
How it's built
Agent pipeline (Go)
Four specialized agents run as concurrent goroutines, coordinated by an event-driven orchestrator:
- Monitor Agent — polls Nimble's web extraction API on a configurable interval to scrape live prices from retailer product pages or search results
- Recovery Agent — detects price drops, generates a recovery dossier, and triggers an x402 payment intent
- Policy Agent — reads a hardcoded (but extensible) retailer policy map to determine eligibility, window length, and turnaround time
- Claim Agent — calls Claude Haiku to draft a personalized refund request email, then sends it via Resend SMTP
Receipt ingestion
Claude Vision (claude-haiku-4-5-20251001) parses receipt photos and PDFs using the
document/image content block API. It extracts product, price, retailer, order ID,
SKU, and URL — then immediately starts monitoring.
Observability (Datadog)
Every agent span is traced with dd-trace-go. Each stage of the pipeline — ingest,
price check, drop detection, policy analysis, email dispatch — produces a Datadog
span with structured tags. ClickHouse gets every domain event as a persistent sink.
Lapdog proxies traces locally at 127.0.0.1:8126.
Frontend (Next.js)
A live SSE-connected dashboard shows the agent pipeline in real time: four agent status cards pulse as they work, a flow graph lights up stage by stage, and the recovered amount updates the moment a drop is detected.
Challenges
Getting price extraction right on search results pages was the hardest part. Nimble returns 1–2MB of markdown from an Amazon search page. A frequency-of-occurrence heuristic works well on product pages (the buy-box price repeats), but fails completely on search results where every listing has a different price. The fix was anchoring price selection to the known baseline — find the candidate within ±60% of what the customer paid, rather than whatever appears most often.
Claude returning JSON arrays instead of objects for multi-item receipts was another wrinkle — the prompt needed explicit instruction to extract only the single most expensive item.
What's next
- Direct retailer API integrations (Amazon, Best Buy) instead of scraping
- Multi-item receipt tracking (track every line item, not just the most expensive)
- Browser extension for one-click receipt capture at checkout
- Confidence scoring before sending the claim email
Built with
Go · Next.js · Claude Haiku (Anthropic) · Nimble Web API · Datadog (dd-trace-go, Lapdog) · ClickHouse · Resend · x402 · SSE · SMTP/TLS
Built With
- golang
- nextjs

Log in or sign up for Devpost to join the conversation.