MatFinance is a lightweight, mobile-friendly personal finance tracker. It uses a local-first web interface (PWA) that syncs your income and expenses directly to a private Google Sheet.
It features offline support, background syncing, and beautiful charts, all without needing a traditional database or backend server.
-
๐ฑ PWA Ready: Install it on your iOS or Android home screen for an app-like experience.
-
โก Local-First & Offline Support: Add transactions even when you don't have an internet connection. They will queue up and sync automatically when you go back online.
-
๐ Automated Reports: Visualizes your monthly spending with Chart.js.
-
๐ Private & Secure: Your data never touches a third-party server. It goes straight from your device to your personal Google Sheet.
You can host your own version of MatFinance completely for free! Here is how to set it up:
-
Create a new, blank Google Sheet.
-
Go to Extensions > Apps Script.
-
Create two files in the Apps Script editor:
-
Code.gs(Delete the default code and paste the contents ofCode.gsfrom this repo). -
Index.html(Create an HTML file and paste the contents ofIndex.htmlfrom this repo).
-
-
Save the project.
-
In the dropdown at the top, select the
setupSpreadsheetfunction and click Run. Grant the necessary permissions. This will automatically format your Google Sheet.
-
In the Apps Script editor, click Deploy > New deployment.
-
Select Web app as the type.
-
Set Execute as to
Me. -
Set Who has access to
Anyone. -
Click Deploy and copy the Web app URL (it ends in
/exec).
-
Open the
app.htmlfile from this repository. -
Find the following line:
const GAS_APP_URL = 'https://script.google.com/macros/s/YOUR_DEPLOYMENT_ID/exec';
-
Replace the placeholder URL with the actual Web app URL you copied in Step 2.
-
Host
app.htmlanywhere you like! You can use GitHub Pages, Cloudflare Pages, Netlify, or Vercel for free. -
Open your hosted
app.htmlURL on your phone and tap "Add to Home Screen".
Feel free to fork this repository and submit pull requests if you have ideas for new features or improvements!
Happy Coding and remember FOSS is the best.
MIT License