Hey DEV community,
I’m excited to share that my open-source Android project, PennyWise, recently crossed 80+ stars on GitHub and has over 100 active beta testers. As a solo developer on a side project, this has been an incredible journey, and I wanted to share a bit about the „why“ and the „how.“
PennyWise is a privacy-first expense tracker that automatically logs transactions by reading bank SMS. The key feature? Everything, including an AI assistant, runs 100% on the device.
No cloud servers, no data collection, no API fees.
The Tech Stack & Key Decisions
- 100% Kotlin & Jetpack Compose: Built with a modern Android stack for a reactive UI.
- On-Device AI with MediaPipe: I wanted to avoid cloud LLMs entirely. I used Google’s MediaPipe with a Gemma 2B model to build an AI assistant that can answer questions about a user’s spending without their data ever leaving their phone. This was a huge challenge but core to the privacy promise.
- Room Database: For local, structured storage of all financial data.
- Regex-based SMS Parsing: A robust system to handle dozens of different bank SMS formats in India.
Building something with a strong privacy-first stance seems to have resonated with users. The on-device AI is not just a gimmick; it’s a statement against the trend of sending every little piece of data to the cloud.
If you’re interested in modern Android development, on-device ML, or just want to see a project that’s gaining some real-world traction, I’d love for you to check it out.
GitHub Repo: https://github.com/sarim2000/pennywiseai-tracker
Happy to dive into any technical questions or discuss the challenges of on-device AI in the comments!