Tally
Daily, weekly and monthly expense tracking. Data is saved privately (local storage on web, on-device storage in the app). No account.
There are two versions:
- This folder (plain web) — no dependencies, no build step. Start it below.
expo-app/(React Native + Expo) — one codebase that runs as a website and as iOS/Android apps. Needs Node.js 20+; seeexpo-app/README.md.
Start
cd "/mnt/c/workspace/expense tracker"
python3 server.py
Open http://localhost:8000 in your browser.
To use another port: PORT=8080 python3 server.py.
Features
- Sidebar views — Daily, Weekly, Monthly and All expenses with live counts, each group with its own total.
- Categories — Food, Transport, Household, Utilities, Shopping, Health, Beauty, Entertainment, Other.
- Repeats — mark an expense Daily, Weekly or Monthly. Repeating entries appear under “Repeating expenses” with the next due date and a one-click Log next occurrence button.
- Summary — totals plus a per-category spending breakdown for whatever is shown.
- INR amounts — everything is shown in rupees (₹) with Indian digit grouping.
- Search and filters — by text, category and repeat type.
- Edit / delete — every entry can be changed or removed.
- Sample data — realistic entries are loaded on first run so each view has content. Use Clear all to start empty and Load sample data to add them back.
Deploy
Live at https://tally.shaebali.com (Dokploy app tally, built from the
main branch of the shaebali/tally Gitea repo). To ship: commit, push to
main, then trigger application.deploy on Dokploy.
Cloudflare caches app.js/styles.css at the edge, so every deploy that
changes them must bump the ?v= query in index.html or visitors keep
getting the old files until the edge entry expires.
Files
index.html— page structurestyles.css— stylingapp.js— all logic (views, repeats, storage)server.py— zero-dependency local server (the project runner)
Description
Languages
JavaScript
72.6%
CSS
17.8%
HTML
8.8%
Python
0.7%
Dockerfile
0.1%