← dacular dacular ↗
walkthrough · experimental

Summarize and query your own bank statements

A start-to-finish example of the dacular vault: drop a folder of PDFs on your Mac, index them, and ask open-ended questions — "how much did I spend on travel last year?", "when does my insurance renew?" — answered by a frontier model that writes code but never sees your data. Everything runs on Apple Silicon; the documents and the answers stay on the machine.

⚠︎ Experimental. This is an early research flow — the pieces are moving and it isn't ready to trust with data that truly matters yet.

1

Gather your documents

Export your statements from your bank or insurer's website as PDF and drop them in a folder — say ~/vault. Bank exports are digital PDFs (a real text layer), which is exactly what the extractor reads. CSVs and Markdown notes work too. Nothing is uploaded anywhere; this folder just sits on your disk.

No data of your own to test with? Grab the sample vault — a few fictional statements, an insurance policy, and a vehicle registration:

git clone https://github.com/dacularapp/dacular
cp dacular/examples/vault/*.pdf ~/vault
2

Install dacular

Install the dacular CLI via Homebrew:

brew install dacularapp/tap/dacular
3

Set up the vault

One command installs the whole stack — the inference server (a chat model that reads your documents and an embedding model for search, both served from one port), the headgate harness, and the dacular vault — reusing anything already installed:

dacular install

dacular bundles everything it needs — the millrace inference server, the headgate harness, and the local vault site — installing each only if it isn't already there.

4

Index your vault

Point dacular at your folder. It chunks each file, embeds the chunks locally, and stores the vectors in an on-device LanceDB index — only you ever see the contents:

dacular index ~/vault

dacular's manifest is the only thing the frontier model is ever shown — aliases like file_0 [pdf] and col_2, never names, values, or paths.

5

Ask

Open the vault chat — it brings the server up, launches the chat UI, and points your browser at it. Type a question and the frontier model writes a small program that searches your vault and reads the real text with the on-device model; the answer is computed locally.

dacular start       # opens http://localhost:10000

Prefer the terminal? A one-shot:

dacular ask "When does my car insurance renew?"
Your car insurance renews on 2026-09-15.

Done for the day? dacular stop shuts the whole stack back down.

Why this is private

The powerful model is treated as an untrusted code generator, not a data processor. It sees the shape of your vault (the aliased manifest) and writes code; the code runs locally, in a network-denied sandbox that can reach only 127.0.0.1. The on-device model is the only thing that reads real content, and the answer is printed on your machine. Your statements never leave the Mac, and never reach the frontier model.