Inspiration
The average household bleeds hundreds of dollars a year on subscriptions it forgot about — free trials that quietly convert, "new pricing" emails nobody reads, charges that continue after a cancellation. Detecting those leaks means reading receipts and price-change notices by hand, every month. That's an everyday problem that an everyday agent should own.
What it does
SubSentinel is a personal audit agent built with the Strands Agents SDK. On every run it:
- read_inbox — parses receipts, renewals, trial notices and price-change emails
- recall_subscriptions — loads the subscription picture it memorized last run
- compare_with_memory — surfaces NEW subscriptions, PRICE HIKES (>5%), and apparent cancellations
- save_email_draft — writes the reply for you: a cancellation, a loyalty-discount negotiation, or a refund request
- remember_subscriptions — stores the updated picture so the next run is smarter
- save_audit_report — a markdown report with estimated monthly spend and every change
The differentiator is agent memory across runs: run it monthly and it reasons about change — exactly where the money leaks.
How we built it
- Python + Strands Agents SDK for the tool-use loop (6 tools, fully autonomous chaining)
- Model layer via [OI]Model — any [OI]-compatible endpoint works; the demo runs on a free tool-calling model through OpenRouter
- JSON-file-backed tool state (subscriptions, drafts, reports) — a deliberate demo-friendly memory store that maps 1:1 to a DynamoDB adapter
- Seeded demo inbox ships in-repo so
python agent.pyis a complete demo with zero credentials, including a 38% price hike and a trial converting in 3 days - Demo video produced programmatically from an HTML composition
Challenges we ran into
Strands' async event loop requires an Async[OI] client (a one-line fix that cost us a traceback); making the audit stateful rather than stateless forced the memory design; and keeping the agent honest — it may not invent charges that aren't in the emails — is enforced in the system prompt.
Accomplishments that we're proud of
A complete, runnable agent that finds real problems in a real mailbox shape, drafts ready-to-send emails, and gets smarter on every run — end to end in a single day, on a zero-cost model backend.
What we learned
Strands' tool loop, agent memory patterns, and that the hard part of an "everyday agent" isn't the model — it's giving it a truthful, persistent picture of the user's world.
What's next for SubSentinel
Gmail API adapter, weekly digest scheduling, one-click send from the drafts dashboard, and negotiation follow-up tracking.
Log in or sign up for Devpost to join the conversation.