-
-
GIF
One Google tap: your real inbox becomes a recovery command center. Six agents, real data, human approval gate.
-
GIF
Autopilot: scan, ground in real law via Atlas vector search, draft, verify, queue. It stops at the one thing that stays human
-
GIF
Type a surname, find real money: 20,000 official California records worth $37.9M, claimable on the state site.
-
GIF
approval and the agent acts: a real Playwright browser walks the vendor portal and streams its screenshot back. The final click stays human.
Inspiration I am a final year computer science student, and like most students I bleed money quietly. A gym I stopped visiting in February kept charging me. A free trial I forgot about converted itself into an annual plan. My flight home was delayed four hours and I never claimed the compensation I was legally owed, because the process felt like homework. When I added it all up, I realised the problem was never information. Every receipt was sitting right there in my inbox. The problem was that nobody had built an agent that turns those receipts into money coming back.
The apps that exist today all stop one step short. Emma and Snoop connect to your bank and draw you beautiful charts of where your money went. Rocket Money will track your subscriptions for a fee. But none of them close the loop, and all of them want your bank login. So I built the thing I actually needed. Budgeting apps show where your money went. Recoup gets it back.
What it does You sign in with Google once, and in that same single consent Recoup scans your inbox read only and lands you in a command center with your real subscriptions already on screen. No sample data, no second click, no bank connection ever. You can paste a real Chase, Wells Fargo or Amex CSV export instead, and it parses entirely in your browser so the statement never leaves your machine. You can even connect a second inbox and the findings merge into one money surface.
Then you press one button, Run Autopilot, and watch an agent actually work. It scans your surface, grounds every claim kind in MongoDB Atlas Vector Search with live similarity scores, drafts every claim with Gemini 3 through Google's Agent Development Kit, runs an independent verifier that flags what you might not qualify for instead of hiding it, and then stops dead at a human approval gate. That stop is the whole philosophy. The agent does everything except the one thing that should always stay human.
From there every finding is an action. The top money drains strip ranks what costs you most, and its cancel button opens the vendor's own cancellation page, Netflix to Netflix, Spotify to Spotify, twenty five services mapped. Claim drafts come in three tones, polite, firm or short, and one click opens the draft inside your own Gmail compose window so you press send yourself. There is a search box over twenty thousand real California State Controller unclaimed property records worth 37.8 million dollars, where you can type a surname and find actual money held under real names, claimable only on the official state site. A built in guide chats with you, remembers the conversation, and can drive the whole app when you ask it to.
Honesty is enforced in code, not in marketing. Receipts can prove a subscription exists but they can never prove you stopped using it, so Recoup never says unused. It shows you what each service costs per year and asks whether you still use it. When you answer that you do, it remembers, and it never suggests cancelling that service again. Every amount is computed by deterministic rules so the model cannot invent a number. Every step writes into a tamper evident SHA-256 hash chain persisted in Atlas that anyone can verify live.
Since that first build the agent grew hands. When I approve a cancellation, a real headless Chromium driven by Playwright walks to the vendor’s own cancellation page on the server and streams a live screenshot back into the card, honestly labelling the login wall where my own final click belongs. Approve all runs the whole fleet at once, walking every vendor portal in sequence and sending a browser notification when the sweep is done. And Sentinel keeps watch on a schedule: it re analyzes my drains every few hours, and when something significant keeps leaking that I have not confirmed using, it notifies me and asks one question, should I proceed with the cancel. One tap and the execution agent takes over. When I answer that I use a service, it remembers forever and never suggests cancelling it again. The product is also installable as an app on Windows, Linux, macOS and Android from the same URL, with one shared memory across every surface.
How we built it The whole thing runs as one Cloud Run service, a FastAPI backend serving a zero build vanilla JavaScript frontend. Gemini 3 is the reasoner inside an ADK LlmAgent, and the agent reaches MongoDB through the official mongodb-mcp-server registered as an ADK MCPToolset. Atlas is genuinely load bearing here, not decorative. It holds the vector searched corpus of 41 consumer protection precedents and recovery playbooks embedded with gemini-embedding-001, the 20,000 real unclaimed property records, the persisted audit chain, and a content addressed LLM cache. Because free tier Gemini quota is a real constraint, I built an all Google resilience ladder where Gemma 4 takes over the moment Gemini 3 rate limits, answers in under a second, and the interface labels exactly which model produced every response. Recoup is also an MCP server itself, exposing five JSON-RPC tools so other agent hosts can ask it to plan recoveries, with approval deliberately not exposed over the protocol.
Challenges we ran into The hardest problems were honesty problems, not engineering problems. I ran six rounds of adversarial testing with over a hundred simulated users and judges, and the failures that stung were the ones where the product was technically right but read as untrustworthy. A blended dollar and euro total. A chatbot that hung for twenty seconds when quota cooled. A scanner that called Spotify unused when I listen to it every day. Each one became a hard rule in code: currencies never blend, the chat answers within six seconds no matter what, and the agent never claims knowledge it cannot have.
Accomplishments we're proud of It is real end to end. The vector search hits are real with visible similarity scores, the unclaimed records are real government data a judge can verify on the state's own site, the Gmail scan reads real receipts, the cancel buttons open real vendor portals, and the audit chain has hundreds of persisted events. In the final validation round, four of six independent judge evaluations returned perfect scores with zero verified defects.
What we learned For a product that touches money, checkable beats clever every single time. Showing the rule, the source, the verifier's checks and the reasons you might not qualify built more trust than any amount of polish. And autonomy is only valuable when it ends at a human.
The numbers, the competition and who it is for Subscription waste is not a niche problem. Industry research has repeatedly estimated that the average consumer underestimates their subscription spend by hundreds of dollars a year, and billions sit unclaimed in government property databases; California alone holds over 13 billion dollars. The incumbents each stop short. Emma and Snoop are bank linked dashboards that visualize spending. Rocket Money cancels subscriptions but charges a subscription of its own and wants your bank credentials. ChatGPT or Claude can write one refund email but cannot scan your inbox unprompted, ground a claim in law, walk a cancellation portal, keep an audit trail, or remember a case next week. Recoup is for the student who forgot a free trial, the family quietly paying for three streaming services nobody watches, and the person who has money sitting in a state database under their own name and does not know it. It needs no bank login, charges nothing, and never moves money itself.
What's next Google OAuth verification so the first Gmail grant has no warning screen, statement parsers for more banks, unclaimed property coverage for all fifty states, and trusted autopilot rules where users pre approve low risk actions under a threshold they set.
Built With
- fastapi
- gemini
- gemma
- google-adk
- google-cloud-run
- javascript
- mcp
- mongodb-atlas
- playwright
- pwa
- python
- vector-search
Log in or sign up for Devpost to join the conversation.