A static personal finance dashboard that reads live data from Google Sheets and turns it into cash-flow, balance, portfolio, and goals views.
The app is configured in app.js to use the larger dashboard workbook as the source of truth, with MP, Colette, and Together views:
mp bank transactions data for finances dashboardBSA_TransactionsBSA_BalancesColette_IncomeCollette_Monthly_ExpensesCOLETTEStock OverviewFidelity_StocksGoals
No private API keys, service account files, OAuth tokens, or credentials are included. The site reads public/client-accessible Google Sheets data through Google's visualization endpoint. If the sheets are private to your Google account, a deployed public site may fall back to demo data unless you publish/share the needed sheets appropriately.
Operating cash flow intentionally excludes transfer and debt-payment overlap categories such as Transfers In, Transfers Out, and Debt Payments so credit-card payments and account moves do not double-count as normal spending.
This is a plain static website. You can open index.html directly, or run a small local preview server:
npm install
npm run devThen open the local URL printed by the command.
- Import this GitHub repository into Vercel.
- Use the default static site settings.
- Leave build command empty or use
npm run build. - Set output directory to
.if Vercel asks. - Deploy.
- Import this GitHub repository into Netlify.
- Use
npm run buildas the build command. - Use
.as the publish directory. - Deploy.
Edit the SHEETS object at the top of app.js if tab names, gid values, or ranges change.
The app intentionally keeps all source configuration in client-side JavaScript because it is a static website. Do not add private API keys or credentials to this repository.