Work, 05 of 06

Private Books

Bank accounts, cards, and brokerage holdings in one private dashboard, refreshed every four hours and kept on your own computer.

Product. In production. Used by me and two clients: a Managing Director at BNY Mellon and an Associate at Fortress Investment Group.

Dashboard
30 daysAll time
Net worth
$184,320
Liquid $7,140Invested $178,950Debt −$1,770
Net worth16 snapshots
Portfolio6 holdings
SPY$156,120
SCHG$18,410
QQQ$3,120
Cash$1,300
SpendingAugust, $4,642
Shopping$1,940
Transport$1,182
Dining$716
Subscriptions$215
Credit cards2 cards
Card 226416%
Card 88093%
Across both$1,770 of $28,000

The problem: seeing where the money goes.

Balances live in banks. Holdings live in brokerages. Transactions arrive with inconsistent names, and history disappears behind rolling data windows. Five accounts, five formats, no single number.

Checking ··4192 214 rows, 90 days Card ··2264 168 rows, 90 days Brokerage ··0518 6 holdings, today Savings ··7730 9 rows, 90 days Card ··8809 93 rows, 90 days

Every transaction is categorised as it arrives.

Transactions come in with the names banks give them. Private Books sorts each one into a category the owner defined, and the month's totals update as they land.

Spending
JulyAugust
DateDescriptionCategoryAmount
August by categoryupdates as they land
Shopping
Transport
Dining
Subscriptions
Groceries
August so far$4,64218% above July, 13 of 31 days

Ask it a question.

Ask about your money in plain language. The answer comes with the numbers behind it and a chart, computed from your own transactions, with transfers between accounts excluded so nothing is counted twice.

Ask your money660 transactions, 16 snapshots, local
$4,182

Everything in, minus everything out, across all five accounts over June, July, and August. Transfers between accounts are excluded so nothing is counted twice.

Transport, then shopping

Those two carry most of the increase. Every other category moved less than $80 in either direction.

Yes, by the first week of March

At the rate of the last six months, cash clears $12,000 in early March without selling anything. A month at August's spending pushes it to late March.

Two storage plans, $23 a month

Charged on two different cards every month since March. One of them predates the other by three years.

Ask about your money

Every account is read every four hours.

Transactions, statements, balances, and holdings are pulled from every connected account on a schedule and written into one local file. Nothing is exported or downloaded by hand.

00:0004:0008:0012:0016:0020:00
Checking 4192transactions, balance
Savings 7730balance
Brokerage 0518holdings, statement
Card 2264transactions, statement
Card 8809transactions
Five accounts, one read-only connection
Local database, finance.db
Transactions660
Statements read12
Holdings96
Balance snapshots16
Run 12:00 complete. Next in four hours.

It runs on your own computer.

It installs on one machine and keeps everything in a single database file you can copy, back up, or delete. Nothing is uploaded, and there is nothing to revoke.

Where it runsLocally. The database is one file on the machine it runs on.
Schedulelaunchd, every four hours, unattended.
ConnectionsRead-only, bank and brokerage. Pull only, with no ability to move money.
BackendFastAPI and SQLite, with SQLAlchemy and Alembic.
InterfaceReact with Vite, served by the same process. Every chart is drawn by hand in SVG.