๐ธ An app created to help users manage a budget and purchases
4,612
stars
925
commits
Dart
primary language
Mar 9, 2026
updated
Cashew is a full-fledged, feature-rich application designed to empower users in managing their finances effectively. Built using Flutter - with Drift's SQL package, and Firebase - this app offers a seamless and intuitive user experience across various devices. Development started in September 2021.
Cashew was featured on YouTube on 'The Best Free and Open Source Apps in 2024!' (and in the thumbnail!)
Cashew was featured on YouTube on 'The Best Apps of 2023!'
Cashew was featured on YouTube on 'Top Android Apps! (November 2023)'
Cashew was featured on Google Play's Editorial 'New Apps We Love' (November 2023)!
Cashew was featured in the Material You Apps List!
Check out the official website!
This application is available on the App Store, Google Play, GitHub and as a Web App (PWA).
Changes and progress about development is all heavily documented in GitHub commits and in the changelog
See the Automation section on the FAQ website for information on how to add transactions automatically: https://cashewapp.web.app/faq.html#automation
This repository contains, bundled in, modified versions of the discontinued packages listed below. They can be found in the folder /budget/packages
The translations are available here: https://docs.google.com/spreadsheets/d/1QQqt28cmrby6JqxLm-oxUXCuM3alniLJ6IRhcPJDOtk/edit?usp=sharing. If you would like to help translate, please reach out on email: dapperappdeveloper@gmail.com
budget\assets\translations\generate-translations.pyUnfortunately, I am currently not accepting contributions due to licensing and credits. Since this application turns some profits, I want to avoid any muddy water when it comes to compensation for contributions. You are free to submit an issue and I can consider it!
flutter build appbundle --releaseNote: required Android SDK.
flutter build ipaNote: requires MacOS.
firebase deployNote: required Firebase.
pubspec.yamlgit tag <version>git push origin <version>deploy_and_build_windows.bat
open_release_builds.bat
update_translations.bat
budget\assets\translations\generate-translations.pyadb tcpip 5555adb connect <IP>About Phone > Status Information > IP Addressint schemaVersionGlobal = ...+1 in tables.dartcd .\budget\dart run build_runner build[schemaVersion] in the command below with the value of schemaVersionGlobaldart run drift_dev schema dump lib\database\tables.dart drift_schemas//drift_schema_v[schemaVersion].jsondart run drift_dev schema steps drift_schemas/ lib\database\schema_versions.dartawait stepByStep(...) function in tables.dart and add the migration strategy for the new version migrationgetPlatform() from functions.dartPlatform is not supported on web, we must create a wrapper and always use this to determine the current platformpushRoute(context, page) function from functions.dartPageRouteBuilderWallets have been been renamed to Accounts on the front-end but internally, the name Wallet is still used.Objectives have been been renamed to Goals on the front-end but internally, the name Objectives is still used.922 commits
3 commits
Dart
99.5%
๐ธ An app created to help users manage a budget and purchases
4,612
stars
925
commits
Dart
primary language
Mar 9, 2026
updated
Cashew is a full-fledged, feature-rich application designed to empower users in managing their finances effectively. Built using Flutter - with Drift's SQL package, and Firebase - this app offers a seamless and intuitive user experience across various devices. Development started in September 2021.
Cashew was featured on YouTube on 'The Best Free and Open Source Apps in 2024!' (and in the thumbnail!)
Cashew was featured on YouTube on 'The Best Apps of 2023!'
Cashew was featured on YouTube on 'Top Android Apps! (November 2023)'
Cashew was featured on Google Play's Editorial 'New Apps We Love' (November 2023)!
Cashew was featured in the Material You Apps List!
Check out the official website!
This application is available on the App Store, Google Play, GitHub and as a Web App (PWA).
Changes and progress about development is all heavily documented in GitHub commits and in the changelog
See the Automation section on the FAQ website for information on how to add transactions automatically: https://cashewapp.web.app/faq.html#automation
This repository contains, bundled in, modified versions of the discontinued packages listed below. They can be found in the folder /budget/packages
The translations are available here: https://docs.google.com/spreadsheets/d/1QQqt28cmrby6JqxLm-oxUXCuM3alniLJ6IRhcPJDOtk/edit?usp=sharing. If you would like to help translate, please reach out on email: dapperappdeveloper@gmail.com
budget\assets\translations\generate-translations.pyUnfortunately, I am currently not accepting contributions due to licensing and credits. Since this application turns some profits, I want to avoid any muddy water when it comes to compensation for contributions. You are free to submit an issue and I can consider it!
flutter build appbundle --releaseNote: required Android SDK.
flutter build ipaNote: requires MacOS.
firebase deployNote: required Firebase.
pubspec.yamlgit tag <version>git push origin <version>deploy_and_build_windows.bat
open_release_builds.bat
update_translations.bat
budget\assets\translations\generate-translations.pyadb tcpip 5555adb connect <IP>About Phone > Status Information > IP Addressint schemaVersionGlobal = ...+1 in tables.dartcd .\budget\dart run build_runner build[schemaVersion] in the command below with the value of schemaVersionGlobaldart run drift_dev schema dump lib\database\tables.dart drift_schemas//drift_schema_v[schemaVersion].jsondart run drift_dev schema steps drift_schemas/ lib\database\schema_versions.dartawait stepByStep(...) function in tables.dart and add the migration strategy for the new version migrationgetPlatform() from functions.dartPlatform is not supported on web, we must create a wrapper and always use this to determine the current platformpushRoute(context, page) function from functions.dartPageRouteBuilderWallets have been been renamed to Accounts on the front-end but internally, the name Wallet is still used.Objectives have been been renamed to Goals on the front-end but internally, the name Objectives is still used.922 commits
3 commits
Dart
99.5%