treeline

Personal finance should be personal.

An open source, local-first finance app. Built on DuckDB.

I tried a few different finance apps and, while they brought convenience, they all lacked something—because the way I wanted to view my money didn't match The App's opinion of how I was supposed to view my money.

I want to tinker. I want to ask questions of my data that no product manager anticipated. I want my tools to grow with me as my needs change.

So I built Treeline.

Smart transaction management

Tag transactions with a keystroke. Set up rules to categorize automatically. Split transactions, hide duplicates, search across everything.

What you get

  • A desktop app for Mac, Windows, and Linux
  • Open source code you can inspect and audit
  • Your data in a local DuckDB database
  • Bank sync via SimpleFIN or Lunch Flow, or CSV import
  • Quick tagging with customizable rules
  • A plugin system for extending functionality
  • Optional database encryption
  • No account required, no subscription

Plugins

Extend Treeline with plugins. Add budgeting, subscription tracking, savings goals, cash flow projections, and more. Or build exactly what you need—the SDK gives you full access to your data.

Go deeper

Your data is a standard DuckDB file. When you want to ask questions no app anticipated, use the built-in SQL editor—or query directly from the terminal, a Jupyter notebook, or any tool that speaks SQL.

SELECT
  dayname(transaction_date) AS day,
  COUNT(*) AS transactions,
  SUM(-amount) AS total_spent
FROM transactions
WHERE amount < 0
GROUP BY dayofweek(transaction_date), day
ORDER BY dayofweek(transaction_date)
day transactions total_spent
Sunday47$312.84
Monday89$567.23
Tuesday72$445.91
Wednesday68$398.45
Thursday81$523.67
Friday124$891.32
Saturday95$634.18

Get treeline

treeline is in beta. Download the app and join Discord to share feedback.