The budgeting half is a modest app: transactions in SQLite, a categorizer that tries your rules first and an LLM second, monthly budgets with rollover, recurring-charge detection and a net-worth chart. An agent can write that in a sitting. The weekend goes on the bank connection. Copilot reaches banks through Plaid and Mastercard Data Connect, and Plaid's free developer tier caps live calls at 200 per product, so the practical routes are SimpleFIN Bridge (about $15 a year, North American banks) or monthly CSV imports. Both sync less often and cover fewer banks, and investments and the native Apple apps are a further step.
Before you buildCopilot has no free plan, but Actual Budget is free and local-first, and may be enough if you don't need automatic categorizing or Apple apps.
Build me a personal budgeting app to replace Copilot Money. Requirements: - Node.js 22 + TypeScript: a Fastify API and a React UI built with Vite. `npm start` serves http://localhost:4810. - Storage: better-sqlite3 in ./data/money.db: accounts, transactions (date, merchant, amount in cents, pending flag, category, notes, excluded flag), categories with a parent, monthly budgets, categorizing rules and daily balance snapshots per account. - Import: a CSV importer with a column-mapping screen that remembers one profile per account, skips duplicates on (account, date, amount, merchant) and flags transfers between own accounts. Optional SimpleFIN Bridge sync with SIMPLEFIN_ACCESS_URL in .env, run by `npm run sync`. - Categorizing: your rules first (merchant contains, amount range), then an OpenAI-compatible model from .env that sees only merchant names and amounts, 50 per request. Cache the answer per merchant; correcting one transaction offers to save a rule. - Budgets: a monthly target per category with optional rollover of the unspent remainder. The month view shows spent, left and a bar per category, and the sum of targets against income. - Recurring: find merchants that repeat at the same interval for three periods with an amount within 10%, list the next expected date and flag a price change. - Net worth: balance snapshots plus manual accounts for property and holdings; a monthly line chart (`recharts`) and a chart of income against spending. - Single user. No accounts, no telemetry, local-first: only the LLM call and SimpleFIN leave the machine, and the README says exactly what each one sends. - Out of scope: Plaid or other bank aggregators, mobile apps, shared budgets, live investment prices, tax reports. - Done when: importing the same CSV twice adds zero rows, and a seeded set of 5,000 transactions loads the month view in under 2 seconds. README: exporting CSVs from a bank and getting a SimpleFIN token (it covers North American banks only).
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Copilot Money.
Add a Copilot Money importer to the budgeting app in this folder. Requirements: - A command `npm run import-copilot -- <file.csv>` for the CSV from Settings > Account > Export your transactions. - Map the columns date, name, amount, status, category, parent category, excluded, type, account, account mask, notes and recurring to the existing tables. - Create missing accounts and categories, keep the excluded flag, and treat Copilot's category as already confirmed so the LLM never overwrites it. - Print a summary of rows read, added, skipped as duplicates and unmapped before writing; support a --dry-run flag. - Update the README with the export steps.
Make the categorizer in this folder learn from corrections. Requirements: - When I change a transaction's category, store the merchant and new category as a rule candidate; after the same correction twice, create a rule automatically. - Show a Rules page listing each rule with how many transactions it matched, and a toggle to disable it. - Re-run all rules over uncategorized and LLM-categorized transactions, never over ones I confirmed by hand. - Add tests with 20 sample merchants covering rule order and conflicts. - Update the README.
Add a weekly summary email to the budgeting app in this folder. Requirements: - `npm run digest` sends a plain-text and HTML email through nodemailer SMTP settings in .env. - Contents: spending by category against budget this month, the five biggest transactions of the week, upcoming recurring charges in the next 14 days and the net-worth change. - Never include account numbers; show only the account name. - A --preview flag prints the email to the terminal instead of sending it. - Update the README with an example cron line.
Add manual investment holdings to the budgeting app in this folder. Requirements: - A holdings table (account, ticker, quantity, cost basis) editable in the UI and importable from CSV. - Daily prices fetched with a key from .env for one provider you choose and document; cache them in SQLite and never call the API more than once per ticker per day. - Net worth uses the latest cached price; show allocation by ticker and gain or loss against cost basis. - If prices can't be fetched, fall back to the last cached value and show the date. - Update the README with the provider's free-tier limits.
The pitch is a finished product: accounts stay linked, new transactions arrive already categorized, and the app feels native on an iPhone. Reviews rate the design and the automatic categorization above the budgeting depth. A self-built tool matches the ledger quickly and struggles with the one thing that quietly breaks: keeping bank connections alive.
Estimate · Runs on your machine. SimpleFIN Bridge is about $1.50 a month and categorizing a few thousand merchants costs cents in LLM tokens. The build is token usage on your agent plan.
Checked 2026-10-19 against Copilot Money's docs: 1, 2, 3, 4, 5
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Copilot | $13 | $7.92 | Web, iPhone, iPad and Mac apps. Bank, card, loan, investment and crypto accounts, budgets with rollovers, cash flow, subscription spotting, net worth, investment performance and real estate tracking. |
No free plan: a free trial (the page text mentions one month) and a test drive with sample data before you connect any account.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: Automatic sync with thousands of banks and cards through Plaid and Mastercard Data Connect, Native iPhone, iPad and Mac apps.
About $13 a month on the Copilot plan, $156 a year (checked 2026-10-19).
Automatic sync with thousands of banks and cards through Plaid and Mastercard Data Connect; Native iPhone, iPad and Mac apps; Investment performance and allocation, and real estate values from a listing URL; Categorization that has been tuned on a large user base instead of your own rules; Someone fixing the connection when a bank changes its login. If any of those matter to you, keep paying.
Yes: Actual Budget (open source), Firefly III (open source), Sure (open source).