Ivy Wallet is a free and open-source money manager android app. It's written using 100% Kotlin and Jetpack Compose. It's designed to help you track your personal finance with ease.
Imagine Ivy Wallet as a manual expense tracker that tries to replace the good old spreadsheet for managing your finance.
Do you know? Ask yourself.
-
How much money do I have in total?
-
How much did I spend this month and where?
-
How much money can I spend and still reach my financial goals?
A money manager app can help you answer these questions.
Ivy Wallet lacks features but its biggest advantage is its UI/UX, simplicity, and customization. This was recognized in the "Top/Best Android App in 2021/2022 charts" by the YouTube tech community.
Join our private Telegram Community.
To support our free open-source project please give it a star. ⭐ That means a lot for us. Thank you!
- Java 17+
- The latest stable Android Studio (for easy install use JetBrains Toolbox)
1. Fork and clone the repo
Instructions in CONTRIBUTING.md.
2. Make the initialization script executable:
chmod +x scripts/init.sh
3. Initialize the project:
./scripts/init.sh
Jour our Telegram community and drop a message in the "Development" topic.
Ivy Wallet is a great place to code and learn. That's why we're also linking great learning materials (books, articles, videos), check them in docs/resources 📚.
Make sure to also check our short Architecture Guidelines 🏗️ to learn more about the Ivy Wallet's tech side.
- 100% Kotlin
- 100% Jetpack Compose
- Material3 design (UI components)
- Kotlin Coroutines (structured concurrency)
- Kotlin Flow (reactive datastream)
- Hilt (DI)
- ArrowKt (functional programming)
- Kotest (unit testing)
- Ktor Client (REST client)
- Kotlinx Serialization (JSON serialization)
- Gradle KTS (Kotlin DSL)
- Gradle convention plugins (build logic)
- Gradle version catalogs (dependencies versions)
- Fastlane (uploads the app to the Google PlayStore)
- Github Actions (CI/CD)
- Firebase Crashlytics (stability monitoring)
- Timber (logging)
- Detekt (linter)
- Ktlint (linter)
- Slack's compose-lints (linter)
Want to contribute? See CONTRIBUTING.md
Note: It may take up to 24h for the contrib.rocks plugin to update because it's refreshed once a day.
P.S. You'll also be recognized in Ivy Wallet's "Contributors" screen that can be found in the android app. We salute you! 👏
Folks that helped Ivy Wallet in a non-dev creative way that can't be captured in GitHub.