It
It was meant to be a budgeting app that disambiguates big box store recepts.
Core trick
Claude vision reads receipts and abbreviated SKUs are resolved against a per-store dictionary that learns from each human correction.
Description
It was meant to be a budgeting app that disambiguates big box store recepts.
README excerpt
# Clarity
Item-level truth for household spending.
Bank statements tell you *where* money went (`COSTCO WHSE #0420 $234.17`).
Clarity tells you *what you bought*: it ingests bank exports, Amazon order
history, and receipts from big-box stores; reads receipts with Claude vision;
disambiguates abbreviated SKUs (`KS EVOO 2L` → *Kirkland Signature Organic
Extra Virgin Olive Oil*) into real products; reconciles every source so each
dollar is counted exactly once; classifies spending at the item level; and
routes anything it isn't sure about to a human review queue. Corrections feed
back into a per-store SKU dictionary so the system gets better with use.
The UI centerpiece is the **review queue** — a few minutes of triage a week —
with a secondary **true-spend** view (item-level category breakdown, each item
linked to its evidence: receipt region, Amazon order row, or bank line).
## How it works
```
bank .xlsx/.csv ─┐
Amazon orders CSV ┼─▶ ingest ─▶ normalize ─┐
receipt photo/PDF ┘ │ ├─▶ reconcile ─▶ classify ─▶ review queue
vision ─▶ SKU resolve ┘ (every $ once) (item-level) │
true spend
```
- **Ingest** — `SourceAdapter`s for bank exports (Excel or CSV, header
auto-detection), Amazon `Retail.OrderHistory.csv` (per-shipment line items,
PII columns dropped), and receipt images/PDFs. Idempotency keys make every
import safe to re-run.
- **Rece