I'm building a private household finance app for my spouse a...
Prompt
I'm building a private household finance app for my spouse and me, and I'd like your suggestions for improvements, enhancements, and ways to make it easier to use. I'm not a programmer: AI coding agents write the code from a written specification, and I review their work. Please don't write code. I want ideas I can evaluate and then turn into instructions. WHAT IT IS - A local web app on one Windows laptop, opened in the browser. Python, Flask, SQLite, server-rendered pages, no front-end build step, few dependencies. It only answers on 127.0.0.1. - Two users (Person A maintains it; Person B uses it on the same laptop). - Goal: a reasonably complete picture of household finances with very low upkeep: 10 minutes or less a month for net worth, 30 minutes or less including spending analysis. If normal use requires typing in transactions, maintaining spreadsheets, or hours of reconciling, the design has failed. FIXED CONSTRAINTS (please keep suggestions inside these) - No account linking, Plaid, or stored credentials, and no ability to move money. Data arrives only from files I download (CSV) and figures I type once a month. - All data stays on the laptop. The only outbound requests are month-end price lookups (ticker symbols only). - Code produces every figure. A planned AI chat will only interpret figures the code calculated, through a local filter that controls what is sent. - Money uses exact decimals. Missing data is shown as missing, stale, or unexplained, never as zero. - Past month-end figures are never rewritten; corrections apply from the month they're entered. Only the latest month can be undone. - Uncertain matches (possible duplicates, unclear transfers, unknown merchants) go to me to decide; the app doesn't guess. - Software upkeep budget: about 2 hours per quarter, beyond monthly use. WHAT'S BUILT Net worth: - Accounts in three entry modes: holdings (ticker and shares plus cash, valued with stored month-end closing prices), typed balances (401(k), HSA, loans, home), and imported (bank and card accounts, balance calculated from statement files). - A monthly update screen: last month prefilled, prices looked up automatically, cash confirmed every month, year-to-date retirement contributions, HSA card payments, rollovers. - Safety checks: a price move over 30% or a reported split requires confirming share counts. Flags for stale prices and balances, and for share counts not checked in 100 days. - Allocation that shows how much of the investments it covers, with an "unknown" group for the rest. Liquid net worth. "Tracked from" dates per account. Automatic local backups with a restore page. Statements and spending: - CSV imports for two bank accounts and two credit cards, each with its own file layout. Rows are identified by fingerprint, so overlapping downloads add nothing twice. Imports can be undone, and a file can be re-read after a reader fix. - Coverage and reconciliation: each account's imported transactions are checked against bank running balances and the card statement balances I type monthly. Each month is labeled complete, provisional, or incomplete, with reasons. A "find the difference" aid helps when a card period doesn't reconcile. - 19 spending categories, each tagged essential or discretionary. Merchant rules (about 300 starter rules, plus mine). A review queue for new merchants, payment services (Venmo, Zelle), cash withdrawals of $100 or more, and unclear items. Splits, and refunds linked to the original purchase. - Transfers and card payments paired automatically between my accounts when the match is unambiguous; otherwise reviewed. Money in transit at month-end is shown on its own line. - Calculations: monthly spending by category and tag, spending versus take-home pay, "left over", category changes versus last month and the 3-month average (flagged above 25% and $50), discretionary share, savings rate on a take-home basis (trailing 12 months), months of essential spending covered by cash, and cash above a buffer target. - Amazon: I prepare a spreadsheet of items (date, name, cost, optional category). The app splits each month's Amazon card charges across categories in proportion, labeled as estimates. - Dashboard: a calm dark design with net worth and its history, accounts, spending by category with expandable rows, available cash, and savings rate. WHAT'S PLANNED - Next: two timed real months to confirm the 30-minute target, then a monthly summary and an AI chat (through a local filter with disclosure levels; item-level detail never sent). - Later: explaining net-worth changes (savings vs. investment returns vs. unexplained), goals, recurring-charge detection, employer-match and contribution-room checks, a "decision log" that tracks whether financial decisions held up, then scenarios, debt payoff comparisons, and deeper holdings analysis. - Open: encrypted backups with one copy off the laptop. - Not goals: automatic bank sync, bill pay, trading, tax filing, double-entry bookkeeping, credit reports, real-time data. WHAT I'D LIKE FROM YOU Suggestions in these areas: 1. Monthly routine: ways to cut time or steps without breaking the constraints. 2. Usability for a non-programmer and a less involved spouse: clarity, error-proofing, what to show first. 3. Insights worth adding that a household would actually use, and which planned items you'd reorder or drop. 4. Accuracy and data-quality risks you'd watch for with CSV imports, card statements, typed balances, and month-end prices. 5. Reliability and maintenance: what tends to break in apps like this over years, and how to keep upkeep within 2 hours a quarter. 6. Privacy and security for a local app holding household financial data. For each suggestion, give: what it is; why it helps; effort (small, medium, or large); how it fits the constraints above (flag any it would bend); and when to do it (now, after the timed months, or later). End with your top 5 in priority order, and a short list of things you'd advise NOT building. If something about the app is unclear, list your questions rather than guessing.