A secure finance tracking Android app written in Kotlin using Jetpack Compose, built for the Mobile Dev Campus by Phillip Lackner as part of the monthly challenge (march 2025). This app is made for fun and to improve skills.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- PIN-based authentication with session management
- Biometric authentication support (fingerprint)
- Automatic session expiration (configurable duration)
- Account lockout after failed attempts
- Encrypted local data storage
- Track income and expenses
- Categorize transactions
- Set recurring transactions
- Add notes to transactions
- View transaction history
- Configurable currency display formats
- Choice of decimal and thousands separators
- Expense display preferences (minus sign or parentheses)
- Multiple currency symbols supported
- Export transactions to CSV or PDF
- Filter by date ranges
- Save exports to device downloads folder
- Simple widget shortcut to create transactiom
- Android architecture components (Clean Architecture + MVI)
- Declarative UI with Jetpack Compose
- Compose Navigation with secure routing
- Data encryption using Android Keystore
- Local persistence with Room Database
- Kotlin Coroutines for asynchronous operations
- Material Design 3 components and theming
- Glance widget
- Clone the repository:
git clone https://github.com/galahseno/SpendLess.git- Open the project in Android Studio
- Build and run the app on an emulator or physical device
Android 8.0 (API 26) or higher
Minimum SDK: 26
Target SDK: 34
The app can be configured through the Settings screen:
- Change session timeout duration
- Enable/disable biometric authentication
- Customize currency display formats
- Set lockout duration after failed attempts








