Labnotes

Finding things in Expense

The search box on the expense list in Expense understands fields now. report:, category:, and merchant: match exactly, case-insensitive, and description: matches anywhere in the description. Values can contain spaces: report:2026 travel is one filter, not two. Repeating a key ORs (merchant:shell merchant:chevron), mixing keys ANDs,

Read more 1 min read

How Expense reads a receipt

Every receipt that lands in Expense has to become structured data: merchant, date, amount, category. A language model can do that, but model calls cost money and seconds, so the pipeline is designed around not making them. Most receipts never reach a model. The order goes like this. Text first.

Read more 1 min read

Cmd+K at Expense

Expense now has a command palette. Press Cmd+K anywhere (Ctrl+K on Windows and Linux) and type what you want to do. Go somewhere, add something, search, export. The mouse is optional. Some of the keys I actually use: * g e expenses, g r reports, g m emails, g

Read more 1 min read

Connect Fastmail: your receipts move from inbox to Expense

Most expense apps only auto-import receipts from Gmail accounts. Expense now works with Fastmail — this is how it works, what it gets right, and what it lacks. I built Expense for people who file taxes as individuals — freelancers, self-employed, side hustlers. The pain point is always the same:

Read more 3 min read
August 25th, 2026 1 min read

Reconcile in Expense

And I made a cool thing in Expense that I find incredibly useful. Once a month comes along and I have my statements, I import the PDFs into Expense and let it reconcile the expenses. It looks up if the expense already exists in my list and reconciles it if

Read more
August 6th, 2026 2 min read

Expense — receipt tracking for easier tax filing

$9.20 to steward an app into existence in one week. It's made of 38,000 lines of code and 15,700 lines of comments. Tests make up about 21% of the code. Spec size is about 3,200 words. I understand that "vibe code" feels

Read more