Turn raw bank SMS into a clean, searchable money timeline — automatically. Zero setup. Zero cloud. 100% on‑device AI.
Get started:
⭐ Star us on GitHub — help us reach 100 stars!
PennyWise automatically reads transaction SMS messages and transforms them into organized financial data using on-device AI. No manual entry, no cloud processing, complete privacy.
![]()
Get early access • Test new features first • Shape the future of PennyWise
- Save time automatically: New transactions are detected from SMS and categorized instantly.
- See where money goes: Clean merchant names, categories, and charts help you spot patterns fast.
- Never miss renewals: Automatic subscription detection and reminders.
- Ask your money anything: On‑device AI answers questions like “How much did I spend on food last month?”
- Privacy built‑in: Works offline. Your data never leaves your phone.
- Grant SMS permission (read‑only). No inbox changes, no messages sent.
- PennyWise parses transaction SMS, extracts amount, merchant, category, and date.
- View analytics, subscriptions, and the full transaction timeline — and chat with the on‑device AI.
- 🤖 Smart SMS Parsing - Automatically extracts transaction details from any Indian bank SMS
- 📊 Spending Analytics - Visual insights into your spending patterns and trends
- 🔄 Subscription Tracking - Detects and monitors recurring payments automatically
- 💬 AI Assistant - Chat about your finances with a locally-running AI
- 🏷️ Auto-Categorization - Intelligent grouping by merchant and transaction type
- 📤 Data Export - Export as CSV or PDF for taxes or personal records
Currently supporting major Indian banks:
- HDFC Bank
- State Bank of India (SBI)
- ICICI Bank
- Axis Bank
- Punjab National Bank (PNB)
- IDBI Bank
- Indian Bank
- Federal Bank
- Karnataka Bank
- Jupiter (CSB Bank)
- Amazon Pay (Juspay)
More banks being added regularly! Request your bank →
All processing happens on your device using MediaPipe's LLM. Your financial data never leaves your phone. No servers, no uploads, no tracking.
![]() |
![]() |
![]() |
![]() |
![]() |
Home | Analytics | AI Chat | Subscriptions | Transactions |
# 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
Architecture: MVVM • Room • Coroutines • 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 ktlintCheck # Check style
Please review our Security Policy for how to report vulnerabilities.
Thanks goes to these wonderful people (emoji key):
Lucifer1590 👥 🐛 📓 |
This project follows the all-contributors specification. Contributions of any kind welcome!
MIT License - see LICENSE