Skip to content
TriedPrompts

More in Dashboards & reporting.

Build a self-hosted household finance dashboard in 12 days with Claude Code

WorkedEvidence: Described by posterPosted Last checked

Kevin Kinnett built a self-hosted finance dashboard with Claude Code in 12 days and 132 commits, syncing bank data every four hours.

How to use this

  1. Tap Copy prompt.
  2. Open the tool the case used (or a similar one) and paste the prompt; results may differ from the original.
  3. Paste it into the message box.
  4. Send it, then read the answer before acting on it.
New to this? What's a prompt?

A prompt is the message you send to the AI tool. Copy the one on this page, put your own details where it asks, and read the answer before you act on it.

Prompt

Recreated prompt

The source didn't share its exact prompt, so we wrote one from what it describes. The result shown is the source's, not ours.

What the prompt labels mean

The person didn't share their exact words, so we wrote this from what they described. We haven't tested it, and they didn't use this exact version.

Help me build a self-hosted personal finance dashboard. Bank data arrives in Google Sheets through Tiller; pull it into PostgreSQL on a schedule, categorize transactions with rules first and an LLM for the rest, and build pages for budgets, net worth, recurring bills, cash-flow forecasts and reports. I'll make the architecture and schema decisions; you write migrations, routes and UI.

Try this in:

Sends the Recreated prompt shown above. ChatGPT and Grok open with it filled in, and ChatGPT may send it straight away. Gemini and Claude open empty, so we copy the prompt for you to paste. Every button also copies it.

The source used Claude Code, which can take actions on your computer or in a browser. These are general chat tools, so results may differ, and a normal chat may only give you a plan.

Opens in a new tab. We don't see what you send.

These links are only a shortcut. We're not affiliated with OpenAI, Google, Anthropic or xAI, and your results may not match the source.

Optional stronger version

Our rewrite with extra checks. The poster didn't test it.

Before you start, ask me 1–3 short questions about the details below and wait for my answers. Once I've answered, confirm the plan in one line and run the whole task start to finish.

Goal: Build a private household finance dashboard that shows where money goes and what is coming due.

Questions to ask me first:
- Where does your bank data come from today (aggregator, CSV, sheet)?
- Which views matter first: budgets, net worth, bills or forecasts?
- Where will it run, and who can access it?

Inputs (fill in or confirm):
- Data source: [TILLER / CSV / OTHER]
- Accounts to include: [LIST]
- Categories and rules: [LIST]
- Hosting: [HOME SERVER / OTHER]

Rules:
- Design the data model before building pages.
- Categorize with rules first; mark LLM-assigned categories for review.
- Write tests for imports, deduplication and totals early.
- Keep it private; no public exposure.

Checkpoint: Show the schema and the import-and-categorize pipeline working on one month of data before any UI.

If you get stuck: If a feature is tempting but not on my list, ask before building it.

Verify before you finish: Reconcile one month's totals against the bank statements.

Output: A running dashboard, deployment steps and a list of known gaps.

Done when: I can open one page and see budgets, net worth and upcoming bills that match my accounts.

AI tool

Claude Code

Outcome

Kevin Kinnett wanted one view of checking, credit, investments, assets, liabilities, budgets, recurring bills and side-business activity after bouncing between spreadsheets and Mint. Starting March 30, 2026, Kinnett built a self-hosted dashboard with Claude Code co-authoring every commit: 12 days and 132 commits produced about 45,000 lines of TypeScript, 27 pages, 30 API route files and 40-plus database tables. Tiller feeds bank data into Google Sheets, and scheduled jobs pull it into PostgreSQL every four hours. Rules plus LLM-assisted categorization, split transactions, amortization and recurring-charge detection drive budgets, net worth, cash-flow forecasts, Amazon order reconciliation, reports and alerts. Kinnett still made the architecture, stack and schema calls, and would design the data model more deeply and write tests earlier next time, since cheap features make overbuilding easy.

Evidence: Described by posterThe person describes what happened in words, without screenshots or video.

Source

Posted
by Kevin Kinnett
Last checked
Method:
How we verify

https://www.kevinkinnett.com/posts/self-hosted-personal-finance-dashboard-claude-code/

Context: Kinnett is a professional developer. Screenshots in the post use demo data; the commit and code counts are self-reported.

More in Dashboards & reporting