Scanned household paperwork, tagged into an archive that stays searchable inside the files themselves.
Scanning is the easy part. Consumer scanner apps stop at OCR, and document managers like Paperless-ngx or DEVONthink hold organization in their own database, so leaving the tool means leaving the organization behind. Embedded metadata plus a shared entity registry is the part nothing else covers.
If metadata lives inside the file rather than in a tool's database, and tags come from a controlled vocabulary rather than free text, then a household archive stays searchable indefinitely and survives changing tools.
A local tool for turning a directory of scanned household documents into a searchable archive. It shows each PDF alongside its embedded metadata, allows editing title, subject, and keywords, and uses an AI vision model to suggest values constrained to a controlled taxonomy. Named entities resolve at runtime against the Notion Entities database, so the same person or vendor always gets the same tag across years of filing.
Status
Working MVP, in use. Core workflow, PDF splitting, activity logging, file list, and AI-assisted suggestions are all functional.
Migrated into the experiment hub from a standalone private repository. Source history was deliberately not carried over — earlier commits contain unredacted household data and the hub is public.
Local only
Not deployed and should not be. It reads a directory of real personal documents and queries the Notion Entities database. Runs on port 3004.
Taxonomy
Tags come from two sources kept deliberately apart:
- Repository — generic vocabulary: document types, categories, status/action, retention, time period, special flags
- Notion Entities database — people, organizations, and locations, joined on
Slug
Only Slug, Name, Aliases, Kind, Relationship, Category, and Status are read from Notion. Contact and account fields are never fetched, because projected entities are interpolated into the OpenAI prompt and would otherwise leave the machine.
Open issues
- Keyword read-back —
pdf-libdoes not reliably read back keywords it wrote. This is the main threat to the premise that embedded metadata is trustworthy, and needs verification against external PDF readers. - No taxonomy validation — tag conformance is enforced by prompt only; nothing checks the model's output before it reaches the user. Highest-value remaining work.
- PDFs only — many scans are JPG or PNG and cannot be processed at all.
- No OCR — scans without embedded text yield nothing extractable.