
Multi-Agent Subscription Intelligence Platform
SubSentinel is a five-agent AI platform built on AWS Bedrock that goes beyond tracking subscriptions — autonomously detecting hidden cancellation flows, drafting negotiation emails, and predicting outcomes using only real user data.

Vision
The subscription economy has become one of the most consequential financial burdens on consumers worldwide. In 2025, the average household unknowingly pays for 2.4 unused subscriptions per month. Cancellation flows are deliberately engineered to exhaust user patience. Negotiation tactics remain opaque, asymmetric, and systematically weighted against the consumer. Legacy fintech tools display spending data — they do not act on it.
SubSentinel closes this gap with a five-agent AI system built on AWS Bedrock, orchestrated via Step Functions, and grounded exclusively in real user data. Every inference call, every cancellation recommendation, every negotiation draft is derived from live Gmail receipts, authentic Google Calendar signals, and actual human negotiation outcomes. No synthetic data. No simulated flows. No compromises on privacy.

Why This Matters?
The Cancellation Economy Is Designed Against You
Forty-seven minutes. That is how long it took one of our engineers to attempt canceling Adobe Creative Cloud. Six screens. Three escalating retention offers. One deliberately manipulated storage guilt message. At the end: he kept the subscription — not by choice, but by exhaustion.
This is not an edge case. It is industry design. The pattern has a name — dark patterns — and it is practiced systematically by some of the largest SaaS companies in the world. Roach motel navigation, hidden cancellation paths, artificial countdown timers, and emotionally manipulative copy have become standard operating procedure.

Market Context
DIMENSION | CURRENT REALITY | SUBSENTINEL RESPONSE |
|---|---|---|
Subscription tracking | Spreadsheets, budget apps (passive) | Autonomous agent detection (active) |
Cancellation friction | Up to 47 min per provider | Dark pattern map + bypass guide |
Negotiation intelligence | Individual, ad-hoc, uninformed | ML-ranked tactics, outcome prediction |
Privacy protection | Data sold to aggregators | PII stripped before every LLM call |
Cost of inaction | $127/month average waste (measured) | Recoverable via proactive suggestions |
How I Built This / Architecture Overview

Decision 1 — TOON Encoding: Token Economy at Scale
JSON is the lingua franca of APIs — verbose, nested, and expensive at LLM scale. The teams that survive are those who treat inference tokens as a finite, precious resource from day one.
We designed TOON (Token-Oriented Object Notation) — a dense, positional encoding format purpose-built for Bedrock prompt engineering. TOON replaces nested JSON structure with schema-defined positional values and minimal punctuation.

Decision 2 — Go 1.21 on Lambda: Concurrency Without Compromise
Five agents must coordinate via Step Functions with shared context, shared state, and sub-second latency targets. Python's Global Interpreter Lock creates a fundamental ceiling on concurrent Bedrock call throughput. We chose Go 1.21 for its native goroutines, deterministic memory model, and AWS SDK v2 support.
Performance Metric | MEASUREMENT | ENVIRONMENT | NOTES |
|---|---|---|---|
Cold start latency | 80-120ms | us-east-1, arm64 | Consistently under 150ms across 200 runs |
Memory footprint | 128 MB sufficient | Lambda baseline | No tuning required at current scale |
Concurrent Bedrock calls | 5 parallel requests | Step Functions | ~800ms total wall-clock time |
SDK maturity vs. boto3 | Lower documentation coverage | Go AWS SDK v2 | Edge cases required manual research |
Decision 3 — Privacy-First Architecture: Trust as a Feature
Gmail receipts contain billing addresses, card digits, and purchase patterns. Google Calendar events reveal location history, relationship networks, and health appointments. A single data exposure event does not just harm a user — it destroys the entire product category. We treated privacy not as a compliance checkbox but as a core architectural constraint from Sprint 1.
PRIVACY CONTROL | IMPLEMENATION | SCOPE |
|---|---|---|
Pre-call PII Redaction | Lambda strips email, name, address, card digits via regex + pattern matching before every Bedrock API call | All 5 agents |
Encryption at Rest | AWS KMS applied to S3, DynamoDB, and Secrets Manager | All data stores |
Cascade Deletion | 72-hour configurable TTL on all user data (configurable to immediate) | Full data lifecycle |
Automated Privacy Testing | Privacy unit tests generated from EARS specifications, run in CI/CD pipeline | Continuous |
OAuth Scope Minimization | Read-only scopes only — no write access requested or granted | Gmail + Calendar |

Features

SubSentinel's intelligence is distributed across five specialized agents, each owning a discrete domain of the subscription lifecycle. They are orchestrated by AWS Step Functions, share state via DynamoDB, and communicate exclusively through structured TOON-encoded payloads. No agent has direct user-facing access without human review.







IV. DATA INTEGRITY - THE REAL ONLY COVENANT
There is a pervasive and damaging trend in AI hackathon submissions: mock data presented as real-world validation. We made a deliberate, non-negotiable architectural decision on Day 1 — every data point that enters SubSentinel must be traceable to a real human action with a real provider. This decision is harder to execute, slower to scale, and more honest to present.
DATA SOURCE | COLLECTION METHOD | VOLUME | LIVE STATUS |
|---|---|---|---|
Gmail Receipts | OAuth (team member accounts, read-only) | 47 receipts | ✅ Live |
Calender Events | Google Calendar OAuth (team member accounts) | Active account | ✅ Live |
Dark Pattern Screenshots | Manual capture during real cancellation attempts | 10 screenshots, 5 providers | ✅ Live |
Negotiation Outcomes | Forwarded email responses from real attempts | 12 outcomes | ✅ Live |

DEMO
The following table maps every visible feature to its data source and the validation method an AWS reviewer can use to independently verify authenticity.




DEMO FEATURE | UNDERLYING DATA SOURCE | LIVE METRIC | VERIFICATION METHOD |
|---|---|---|---|
Gmail Receipt Scan | Team member's actual Gmail account | 47 receipts · $127/month identified | OAuth token shown live. Reviewer can inspect raw email headers. |
Calendar-Driven Trigger | Team member's actual Google Calendar | Bali trip Mar 20–30 → gym pause suggestion | Calendar event visible in Google Calendar UI alongside agent output. |
Dark Pattern Detection | QA-captured Adobe screenshots (real session) | 4 patterns · model confidence 0.85–0.92 | Original screenshots timestamped and presented alongside Rekognition output. |
TOON Token Comparison | Live Bedrock API call (JSON vs TOON side-by-side) | 35–60% token reduction on measured payloads | API call made live during demo. Token counts shown in real time. |
Negotiation Draft | OpenSearch k-NN on 12 real outcomes | Draft email with probability score | Outcome dataset open for inspection — real email threads available on request. |

VI. UNIT ECONOMICS — ENTERPRISE INTELLIGENCE AT CONSUMER COST
One of the most durable lessons from four decades of building production AI systems: the teams that scale are those that understand their cost model before their go-to-market strategy. We modeled SubSentinel's economics from the first sprint.
PHASE | MONTHLY COST | PRIMARY DRIVERS | NOTES |
|---|---|---|---|
Development (Months 1–3) | ~$0 | AWS Free Tier + Bedrock trial credits | All 19 services within free tier limits throughout development |
Production (Month 4+) | ~$14.30 | Bedrock inference ~$12 + Secrets Manager $0.40 | Projected at single-user scale. Multi-tenancy economics under analysis. |
Per-User Annual Infrastructure | ~$14/year | Inference-dominant cost model | TOON optimization directly reduces this figure as volume scales. |

WHAT I LEARNED
DECISION | WHAT HAPPENED | THE LESSON |
|---|---|---|
TOON Optimization Priority | 2 weeks spent on encoding that saves ~$18/month at current scale | Premature optimization is always a tax on user value. We should have built provider integration breadth first and optimized the cost model in Week 5. |
Google OAuth Strategy | Testing mode requires re-auth every 7 days. Verification takes 4–6 weeks. | OAuth production verification must be initiated in Week 1, not treated as a deployment detail. This is now a potential demo blocker. |
Dark Pattern Detection Scope | Adobe flow updated twice during the 6-week build. Static detection degrades. | Static screenshot-based detection is brittle. Production architecture requires continuous provider flow monitoring with change detection. |
Outcome Dataset Size | 12 real negotiation attempts is below statistical validation threshold | Real data collection takes longer than synthetic generation. We accept the trade-off on data integrity. The sample must grow through production use. |
Mobile Experience | Web-only limits screenshot upload convenience for dark pattern detection | Mobile-first for screenshot capture was a Day 1 UX requirement we deferred. It constrained Agent 04's validation scope. |
VIII. AWS SERVICE ARCHITECTURE — 17 SERVICES, ZERO OVERLAP
Each AWS service was selected for a specific architectural reason. We do not use services to increase the count. We use them because they solve the correct problem at the correct abstraction level.
All
AWS SERVICE | ROLE IN SUBSENTINEL | AGENT(S) |
|---|---|---|
Amazon Bedrock (Nova Pro) | Core LLM inference — receipt analysis, negotiation drafting, dark pattern classification | All 5 |
AWS Step Functions | Multi-agent orchestration, state machine coordination, error handling | Orchestration Layer |
AWS Lambda (Go 1.21) | Compute for all agent processing — goroutine-based concurrency | All 5 |
Amazon S3 | Receipt storage, screenshot storage, KMS-encrypted at rest | 01, 04 |
Amazon DynamoDB | Subscription entity store, session state, outcome records | 01, 03, 05 |
Amazon OpenSearch | k-NN vector similarity search for negotiation outcome retrieval | 03, 05 |
Amazon Textract | Receipt OCR — structured extraction from PDF and image receipts | 01 |
Amazon Rekognition | Dark pattern screenshot OCR and spatial relationship analysis | 04 |
Amazon Comprehend | Sentiment analysis on negotiation outcomes for Learner agent | 05 |
Amazon SES | Gmail receipt ingestion pipeline | 01 |
Amazon EventBridge | Daily calendar analysis cron, scheduled agent triggers | 02 |
AWS KMS | Encryption key management for all data stores | Privacy Layer |
AWS Secrets Manager | OAuth token storage, API credential management | All 5 |
Amazon API Gateway | WebSocket and REST endpoints for frontend | Frontend Layer |
Amazon CloudWatch | Observability, performance metrics, cost tracking | All |
AWS IAM | Least-privilege role architecture — no agent has excess permissions | Security Layer |
Amazon SQS | Inter-agent message queuing, decoupled pipeline stages | Pipeline |
IX. CONCLUSION — BUILT TO LAST, NOT TO WIN
We did not build SubSentinel to score well on a rubric. We built it because one of our engineers spent 47 minutes trying to cancel a subscription he did not want, and we believed AWS Bedrock could solve that problem with a rigor and honesty that the existing market has not delivered.
Six weeks later, five agents coordinate via Step Functions. Real Gmail and Calendar data drives every decision. Dark pattern detection works on a limited but authentic dataset. TOON encoding shows genuine promise and has been released for community validation. And every broken edge case — the OAuth expiry, the stale k-NN cache, the WebSocket reconnect — has been named here, because we believe that AWS community standards demand technical transparency over product theater.

Live Backend: AWS Agent Pipeline in Action

Enjoyed reading this content? Let the author know!
Your likes, comments, shares, and saves help creators reach more builders.
Loading recommendations
Loading article