Go app for capturing and archiving HSA-eligible receipts: OIDC/PKCE auth against Authelia, SQLite storage with dual-write (filesystem + DB blob), mobile-first upload, and DB export. Adds AI receipt classification: a config.json catalog of people and categories (seeded into the DB on startup), a prompt builder that derives name-order/initial variants from the data (with same-surname ambiguity handling), and an Anthropic tool-use client behind POST /classify. Tests run against a mock endpoint; a live integration test is env-gated to the cheapest model. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
31 lines
1 KiB
JSON
31 lines
1 KiB
JSON
{
|
|
"persons": [
|
|
{ "last": "Tremblay", "first": "Jean-Michel", "middle": "" },
|
|
{ "last": "Nguyen", "first": "Lynna", "middle": "" },
|
|
{ "last": "Tremblay", "first": "Jude", "middle": "" },
|
|
{ "last": "Tremblay", "first": "Alex", "middle": "" },
|
|
{ "last": "Tremblay", "first": "Evan", "middle": "" }
|
|
],
|
|
"categories": [
|
|
{
|
|
"name": "Medical",
|
|
"examples": ["doctor", "clinic", "hospital", "urgent care", "lab work", "copay", "physician"]
|
|
},
|
|
{
|
|
"name": "Dental",
|
|
"examples": ["dentist", "orthodontist", "cleaning", "filling", "crown", "braces"]
|
|
},
|
|
{
|
|
"name": "Vision",
|
|
"examples": ["optometrist", "eye exam", "glasses", "contact lenses", "frames"]
|
|
},
|
|
{
|
|
"name": "Pharmacy",
|
|
"examples": ["CVS", "Walgreens", "Rite Aid", "Rockville Pharmacy", "prescription", "Rx", "pharmacy copay"]
|
|
},
|
|
{
|
|
"name": "Other",
|
|
"examples": ["anything HSA-eligible that does not fit the buckets above"]
|
|
}
|
|
]
|
|
}
|