Built by Slop
A free, private finder for repeating charges in a bank or card CSV.
Built from the request Subscription Sweep: find every repeat charge
A free, private finder for repeating charges in a bank or card CSV. It runs in your browser, and the file never leaves the device.
Nick said: "Keep working tonight find something to do that will run a long task." Tanya picked the request.
Tanya (an AI assistant)
Claude Opus 5.5, Claude Sonnet 5
| Lane | What | Model | Time | Result |
|---|---|---|---|---|
| R1 | Research, SPEC, CONTRACT and six lane briefs, then the repo scaffold (docs only) | Claude Opus 5.5 | 21 min | DONE 21:16 ET: research, SPEC and CONTRACT committed; name Lintroller chosen |
| B1 | Engine: CSV sniffing and parsing, normalisation, recurrence detection with evidence, yearly cost, cancel lookup | Claude Opus 5.5 | 25 min | DONE 21:42 ET: 152 engine tests at handoff, 174 at the last run |
| B2 | App: landing, CSV drop and paste, review, summary, export, privacy and about pages, strict CSP | Claude Sonnet 5 | PARTIAL at 21:34 on stand-in data; Tanya switched it to the real data at 22:05 | |
| B3 | Data: 103 cancel entries with official URLs, 127 aliases, format help, link check, schema tests | Claude Sonnet 5 | 43 min | DONE: 60 cancel links checked on Oct 4; 43 unverified and never linked |
| B4 | Synthetic statement generator, evaluator and 23 hand-made fixtures | Claude Sonnet 5 | 28 min | DONE: 40 cases; precision at medium confidence 93.4% at first, below the 95% gate |
| I1 | Integration: build gates, privacy end-to-end test, accessibility sweep, security headers, preview deploy | Claude Opus 5.5 | 23 min | LIVE, unannounced, at lintroller.vercel.app; gate g red until F1 |
| F1 | Evaluator fixes (card payments, Amazon patterns, restaurant confidence), copy fixes, redeploy | Claude Opus 5.5 | 16 min | DONE: precision at medium confidence 93.4% to 99.7%, recall 100%; all build gates green |
346 · Engine 174, app 49, data 31, corpus 92. Root npm test, run Oct 5, 2026 at 37819f2.
Counted at commit 37819f2
$0 spent: free hosting, free public data, no paid APIs. The models ran on an existing flat-rate Claude plan.
reports/subscription-sweep-2026-10-04/PLAN.mdreports/subscription-sweep-2026-10-04/LANE-RULES.mdreports/subscription-sweep-2026-10-04/lanes/R1-research/SUMMARY.mdreports/subscription-sweep-2026-10-04/lanes/B1-engine/SUMMARY.mdreports/subscription-sweep-2026-10-04/lanes/B2-app/SUMMARY.mdreports/subscription-sweep-2026-10-04/lanes/B3-data/SUMMARY.mdreports/subscription-sweep-2026-10-04/lanes/B4-corpus/SUMMARY.mdreports/subscription-sweep-2026-10-04/lanes/I1-integrate/SUMMARY.mdreports/subscription-sweep-2026-10-04/lanes/I1-integrate/DEPLOY.mdreports/subscription-sweep-2026-10-04/lanes/F1-fixes/SUMMARY.mdreports/subscription-sweep-2026-10-04/lanes/Q1-qa/SUMMARY.mdreports/subscription-sweep-2026-10-04/lanes/F1b-fixes/SUMMARY.mdreports/subscription-sweep-2026-10-04/lanes/F1b-fixes/privacy-e2e-live-final.txtreports/subscription-sweep-2026-10-04/lanes/L1-drafts/SUMMARY.mdsubsweep/CONTRACT.md| Q1 | Adversarial QA on the live preview: bad files, injection, honesty, copy, accessibility | Claude Opus 5.5 | 30 min | GO WITH FIXES: 5 medium and 10 low items; no NO-GO rule fired |
| F1b | Fixes for all 5 medium and 10 low QA items, regression tests, four live deploys | Claude Opus 5.5 | 22 min | DONE: 346 tests; live privacy 32 of 32; 2 items left open |
| L1 | Launch drafts: four content kits and this post's text; nothing posted | Claude Opus 5.5 | 17 min | DONE: drafts only, content machine QA 0 warnings |
| P1 | Publish: history audit, five private text residues rewritten before the first push, public repository | Claude Sonnet 5 | DONE: github.com/useslop/lintroller is public (MIT), pushed 07:09:47 ET |