Turn bank SMS into a clean, searchable money timeline with on-device AI assistance. 100% private, no cloud processing.
⭐ Star us on GitHub — join 300+ supporters!
Your bank already texts you every transaction — PennyWise turns those SMS into a private, zero-setup expense tracker with on-device AI. No accounts, no cloud, no effort.
- Grant SMS permission (read-only) — no account creation, no inbox changes, no messages sent.
- PennyWise parses your transactions instantly — extracts amount, merchant, category, and date. New SMS are detected in real-time.
- Get insights — analytics, budgets, subscriptions, and an on-device AI assistant you can ask anything.
Key Differentiators
- 🔒 100% On-Device & Private — All AI processing runs locally, no cloud, no servers, no tracking
- ⚡ Zero Setup — Just grant SMS permission, no accounts to create, works instantly
- 🆓 Free & Open Source — AGPL v3 licensed, no ads, no hidden costs
Core Features
- 🤖 Smart SMS Parsing — 85+ banks across 14 countries with real-time detection of incoming SMS
- 🌍 Multi-Currency — Native support for INR, USD, AED, THB, NPR, ETB, and more with exchange rate management
- 💬 On-Device AI Assistant — Ask "What did I spend on food?" — powered by Qwen 2.5, runs entirely on your phone
- 🏷️ Auto-Categorization & Smart Rules — Pattern-based rules that auto-categorize transactions
- 💰 Budget Tracking — Multiple budget groups (Limit/Target/Expected types), daily allowance, category-level budgets
- 📊 Analytics & Charts — Bar charts, line trends, heatmaps, category breakdowns, top merchants, custom date ranges
- 🏦 Multi-Account & Balance Tracking — Track multiple bank accounts with live balance from SMS and balance history
- 🔄 Subscription Detection — Automatic recurring payment detection with due date alerts
- 🎨 Custom Categories — Create your own with custom colors and icons
More Features
- 🔐 Biometric App Lock — Fingerprint/face unlock with configurable timeout
- 📱 Home Screen Widgets — Budget progress and recent transactions at a glance
- 📤 Data Export & Backup — CSV export for taxes, full backup/restore (.pennywisebackup)
- 🎭 Material You Theming — Dynamic colors, multiple cover styles (Aurora, Gradient, Wave), light/dark/system themes
- ✏️ Manual Transactions — Add and edit transactions manually
- 🔍 Search & Filters — Filter by category, merchant, period, currency, transaction type
- 🎯 Guided Onboarding — Spotlight tutorial for first-time users
Supporting 85+ banks across 14 countries with multi-currency capabilities:
- HDFC Bank, HDFC Mutual Fund, State Bank of India (SBI), ICICI Bank
- Axis Bank, Punjab National Bank (PNB), IDBI Bank
- Indian Bank, Federal Bank, Karnataka Bank, Kerala Gramin Bank
- Canara Bank, Bank of Baroda, Bank of India
- Jupiter (CSB Bank), Juspay, Kotak Bank
- IDFC First Bank, Union Bank, HSBC Bank
- Central Bank of India, South Indian Bank, JK Bank
- Indian Overseas Bank, Airtel Payments Bank, AMEX
- OneCard, UCO Bank, AU Bank, Yes Bank, Bandhan Bank
- IndusInd Bank, Dhanlaxmi Bank, Equitas Small Finance Bank
- DBS Bank, Saraswat Bank, City Union Bank
- Slice, LazyPay, Utkarsh Bank
- Jio Payments Bank, JioPay, India Post Payments Bank (IPPB)
- Standard Chartered Bank
- Citi Bank, Discover Card, Old Hickory Credit Union, Charles Schwab
- Navy Federal Credit Union, AdelFi Credit Union, Huntington Bank
- First Abu Dhabi Bank (FAB), Abu Dhabi Commercial Bank (ADCB)
- Emirates NBD, Liv Bank, Mashreq Bank
- Bangkok Bank (BBL), Kasikorn Bank (KBank), Siam Commercial Bank (SCB)
- Krungthai Bank (KTB), Krungsri (BAY), TTB (TMBThanachart)
- Government Savings Bank (GSB), BAAC, UOB Thailand
- CIMB Thai, KTC Credit Card - Thai and English SMS support
- Laxmi Sunrise Bank, Everest Bank, NMB Bank (Nabil Bank), Siddhartha Bank
- Commercial Bank of Ethiopia (CBE), Zemen Bank, Dashen Bank
- Telebirr - Mobile money service
- M-Pesa Tanzania, Selcom Pesa, Tigo Pesa / Mixx by Yas
- Standard Chartered Bank, Faysal Bank
- Melli Bank (بانک ملی), Parsian Bank (بانک پارسیان) - Persian SMS support
- Alinma Bank (بنك الإنماء) - Arabic SMS support
- Priorbank - Russian/Belarusian SMS support
- Bancolombia
- CIB (Commercial International Bank)
- M-PESA - Mobile money service
More banks being added regularly! Request your bank →
All AI processing happens on your device using MediaPipe's Qwen 2.5 model — no cloud, no API calls, no data leaving your phone. There are no accounts to create, no sign-ups, no servers collecting your data. Your SMS and financial information stay entirely on your device. The entire codebase is open source (AGPL v3) so anyone can verify exactly what the app does.
Light Theme
| Home | Analytics | Categories | Details | AI Chat |
Dark Theme
| Home | Analytics | Account Detail | Accounts | AI Chat |
# Clone repository
git clone https://github.com/sarim2000/pennywiseai-tracker.git
cd pennywiseai-tracker
# Build APK
./gradlew assembleDebug
# Install
adb install app/build/outputs/apk/debug/app-debug.apk- Android 12+ (API 31)
- Android Studio Ladybug or newer
- JDK 11
Architecture: MVVM • Jetpack Compose • Room • Coroutines • Hilt • MediaPipe AI • Material Design 3
- Discord: Join the community, share feedback, and get help — Join Discord
- Issues: Report bugs or request features — Open an issue
See CONTRIBUTING.md for guidelines.
Please read our Code of Conduct before participating.
./gradlew test # Run tests
./gradlew lint # Check stylePlease review our Security Policy for how to report vulnerabilities.
Thanks goes to these wonderful people (emoji key):
Lucifer1590 👥 🐛 📓 |
akshaynexus 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!
GNU Affero General Public License v3.0 - see LICENSE
This project is licensed under AGPL v3, which means:
- ✅ You can use, modify, and distribute this software
- ✅ You must share your modifications under the same license
- ✅ If you run a modified version on a server, you must make the source code available to users
- ✅ Patent rights are explicitly granted and protected