Skip to content

Repository files navigation

TrackBalance 💳

Know your balance. Own your habits. Build financial discipline — one transaction at a time.

TrackBalance is an Android app built on the belief that awareness is the first step to financial discipline. Most people overspend not because they're reckless, but because they simply don't know what they have left. This app puts your real balance front and center — on your home screen, always visible, impossible to ignore.

No subscriptions. No cloud. No distractions. Just you and your money.


Why This App Exists

Most banking apps bury your balance behind login screens and tab menus. By the time you check it, you've already swiped your card. TrackBalance flips that model:

  • Constant visibility → Your balance lives on your Android home screen as a native widget, updating automatically as you log transactions.
  • Friction-free logging → Manual transaction entry takes seconds, not minutes — keeping the habit sustainable.
  • Pattern recognition → When you see where your money goes every day, your spending decisions start to shift naturally.
  • No noise → Zero ads, zero accounts, zero cloud dependency. All data stays on your device.

This app was built to solve a real problem: the gap between earning money and understanding where it goes. Financial discipline isn't about willpower — it's about having clear information at the right moment.


Features

Feature Description
🪟 Home Screen Widget Your balance is always visible on your Android home screen — no app-opening required
📊 Spending Awareness See every credit and debit, building a clear picture of your daily financial reality
🏦 Multi-Account Tracking Add savings accounts, checking accounts, and wallets — all in one place
📝 Transaction Logging Log credits and debits manually, with categories to understand your patterns
📲 Auto SMS Detection Reads bank SMS alerts to automatically detect and log transactions
📤 CSV Export Export your full transaction history for budgeting, taxes, or personal review
🔒 100% On-Device All data stored locally via SQLite — no accounts, no cloud, no tracking
🌙 Dark Mode UI Clean, distraction-free interface that respects your focus

The Financial Discipline Philosophy

"What gets measured gets managed." — Peter Drucker

TrackBalance is not a budgeting tool or a fintech product. It's a discipline tool — designed to make you more conscious of your financial reality through daily habit:

  1. See your balance every time you unlock your phone — the widget keeps it in your peripheral awareness
  2. Log each transaction as it happens — the act of logging itself creates mindfulness around spending
  3. Review where your money went — patterns emerge quickly when every rupee is accounted for
  4. Adjust and improve — no alerts, no judgement, just data you can act on

The result: over time, users naturally start making better decisions because the information they need is always in front of them.


Tech Stack

Layer Technology
Framework React Native + Expo (SDK 57)
Language TypeScript
State Management Zustand
Local Database Expo SQLite
Navigation React Navigation (Bottom Tabs + Native Stack)
Android Widget react-native-android-widget
SMS Reading react-native-get-sms-android
Animations Lottie + React Native Reanimated
UI / Fonts Expo Vector Icons, Google Fonts (Pacifico)

Getting Started

TrackBalance uses custom native Android code for widgets, so Expo Go won't work. You need to build the native client.

Prerequisites

  • Node.js & npm
  • Android Studio / Android SDK
  • A physical Android device or emulator (API 26+)

Installation

# 1. Clone the repo
git clone <repo-url>
cd TrackBalance

# 2. Install dependencies
npm install

# 3. Build & install native dev client on your Android device/emulator
npx expo run:android

# 4. Start the Metro bundler
npm start

Troubleshooting

Problem Fix
White screen / "Unable to load script" Run adb reverse tcp:8081 tcp:8081 then press r in Metro terminal
Widget not showing Widgets require native build — Expo Go is not supported. Use npx expo run:android
SMS not detecting Grant SMS permissions when prompted. Check Settings → Apps → TrackBalance → Permissions

Project Structure

TrackBalance/
├── app/
│   ├── screens/       # All screen components (Home, Accounts, Transactions, etc.)
│   ├── components/    # Reusable UI components
│   ├── store/         # Zustand state stores
│   ├── services/      # Database, SMS parsing, widget management
│   ├── styles/        # Theme tokens, colors
│   └── hooks/         # Custom React hooks
├── widget/            # Android native widget configuration
├── android/           # Native Android build files
└── assets/            # Icons, fonts, images

Permissions Required

Permission Reason
READ_SMS Auto-detect bank transactions from SMS alerts
RECEIVE_SMS Listen for new incoming SMS in real-time

All data remains on-device. No data is transmitted externally.


Roadmap

  • Spending charts & category breakdowns
  • Monthly budget limits with alerts
  • Recurring transaction templates
  • Biometric app lock (PIN / fingerprint)
  • Cloud backup (optional, opt-in only)

License

MIT License — see LICENSE.


Built for simplicity and financial discipline.
© 2026 Track Balance. All rights reserved.

About

Master your spending awareness with TrackBalance. This React Native Android app features a home screen widget that keeps your true bank balance front and center, so you always know exactly what's left. Built with Expo and Zustand, it combines a sleek dark mode UI with the constant visibility needed to track daily expenses.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages