gitmyhub

build-your-own-mint

HTML ★ 2.5k updated 3y ago

Build your own personal finance analytics using Plaid, Google Sheets and CircleCI.

Build Your Own Mint

This project lets you pull your bank transactions and financial data directly into a Google Sheet, so you can analyze your spending however you want. Instead of relying on a service like Mint, you connect your own banks, and the tool automatically fetches your recent transactions and populates them into a spreadsheet you control. It's a DIY personal finance dashboard built from free or low-cost pieces.

Here's how it works. You sign up for Plaid, a service that securely connects to your banks on your behalf. You also set up a Google Sheet and give this tool permission to write to it. Then you run a simple command to authenticate with each of your banks—Plaid handles the security, and the tool saves an access token locally so it can fetch your data later. Once set up, the core logic sits in a file called transform.js, where you define how to map your transactions into the spreadsheet. For example, you might categorize spending, calculate monthly totals, or flag unusual purchases. After that, you can run the tool manually whenever you want an update, or set it up to run automatically once a day using CircleCI, a free automation service.

Who would use this? Anyone who wants visibility into their finances but doesn't trust giving their data to third-party apps, or people who want to build custom reports and analyses that existing finance apps don't support. A freelancer might pull in transactions from multiple business accounts and use the sheet to track project income. Someone optimizing their spending could categorize every transaction and chart trends month-to-month. The main appeal is that you own the data—it stays in your Google Sheet, and you control exactly how it's organized and what gets tracked.

One important note: you're handling real bank credentials here, so the creator emphasizes you should audit the code yourself to make sure it's safe. The tool only talks to Plaid and Google's APIs and saves tokens to your local files; nothing gets uploaded anywhere else. If you're uncomfortable entering real banking credentials even into a local tool, that's a valid concern—the README itself suggests reviewing the code first.