v0.3.0: Close a Period
The monthly close — previously a bundled Claude Code skill you ran from the terminal — now has a front-and-center UX inside the app. Pick a month, quarter, or year, and Clerk.AI collects everything your accountant needs for that period's books — statements, receipts, invoices — asks you only the questions it can't answer itself, and hands you a ready-to-send packet. Plus calmer defaults for a bookkeeping vault and a dramatically lighter background footprint.
Home is now the workflow
v0.2 shipped the machinery — receipts from Photos, browser automation, and the monthly bookkeeping prep as a bundled Claude Code skill you ran through MCP and the terminal. v0.3 moves that workflow into the app itself. Home opens on a "Collect this period's books" card with a Month / Quarter / Year period picker, and a "Past closes" list shows every period you've already put to bed (and lets you reopen one). The sidebar is pared down to Books / Workflows / AI, with a Workflows tab listing the financial workflows as runnable cards.
While a close runs you see the real thing happening: the steps as readable chips, a materials table filling in, and the deliverables checklist going from skeleton to filled — with a preview of what you'll end up with shown from the start. An always-on banner tells you honestly whether Clerk.AI is working (step away), waiting on you, or parked.
Decisions where the work happens
Some questions only you can answer — "is this lunch a client expense?" Those now appear as cards right in the run view. Answer by text or push-to-talk voice (transcribed locally), dismiss with a reason, or join the live session in Terminal. Cards survive app restarts and are scoped to their period.
Answering immediately puts the answer to work: the collect run resumes with it instead of the answer sitting unread. And an answer is never stranded — if the background session that asked has already ended (app restart, reboot), your answer revives a fresh session to act on it. A free-form note field lets you tell the running session something it didn't think to ask.
Review before it goes in the packet
Discovery casts a wide net — your whole photo library is OCR-indexed on-device, so no receipt is missed — and you curate what counts. The new review panel shows every candidate receipt with a thumbnail and a keep/drop decision. Confirmed receipts can get an on-demand AI caption for the packet without turning on library-wide captioning.
When the packet is ready, the accountant email is previewed in-app and handed to your mail client as a draft — you send it. You can also mark a period closed yourself.
The ledger also gained a Source column: every transaction shows how Clerk.AI learned about it — "OP statement", "Revolut CSV", "Gmail receipt", "Photo receipt", "Manual" — so a bank-verified line and an inferred guess no longer look identical.
Calmer defaults for a bookkeeping vault
A bookkeeping app shouldn't churn through tens of thousands of personal photos or years of old voice memos on first launch. Fresh vaults now default photo captioning and Apple Voice Memos capture to off; receipt OCR and in-app recording transcription — the two things the workflow needs — are on. Everything is opt-in-able in Settings.
Background cost dropped dramatically too: a fresh vault's one-time OCR indexing drains about 120× faster, the transcription scanner no longer re-checks thousands of library files it was going to skip anyway, offline geocoding backs off instead of hammering, and memory use is bounded and visible — the Processing tab now charts memory and CPU over time. The background helper also heals itself: it restarts a hung worker, and the app relaunches the helper if it stops responding, instead of requiring a quit-and-reopen.
Smaller things
- First-run setup asks you instead of parking with jargon — plain questions about your books, and onboarding skips steps that don't apply to bookkeeping.
- The microphone works. A missing entitlement silently blocked mic access for in-app recording (no prompt, nothing to toggle). Push-to-talk answers now record reliably, with a live level meter, and a recorded answer is kept for retry if transcription hiccups.
- A proper app icon. The pinwheel now sits on a real macOS squircle card instead of being auto-boxed by the system, and the menu bar shows the pinwheel with a bookkeeping-focused menu.
What's next
The build is done; what v0.3 needs now is real periods closed on real accounts. That's the next stretch — running actual month-ends through the workflow and tightening discovery quality where it falls short. The receipt-focused caption prompt (merchant, total, VAT, currency as structured data) and a frictionless credits option for the AI setup remain on the roadmap.