Open-source project
Pool-Of-Tears/GreenStash avatar
Pool-Of-Tears/GreenStash

GreenStash: an offline Android savings tracker with no ads and no data collection

Simple FOSS android app to help you plan and manage your savings goals easily and establish the habit of saving money.

791 stars71 forksKotlinMIT

At a glance

What is it?
A Kotlin and Jetpack Compose app for planning savings goals, tracking deposits and withdrawals, and working out how much to set aside each day, distributed through Google Play, F-Droid, IzzyOnDroid and GitHub releases, and built without an internet permission.
Who is it for?
Adopt GreenStash if you want a savings goal tracker that keeps your financial data on the device, works without a network, and comes from a project that publishes its source and accepts translations through Weblate. Do not adopt it as a full money manager, since the scope is savings goals rather than accounts, budgets or investments, and expect a single developer pace of development.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 71 days ago.
What is it written in?
Mainly Kotlin, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

Savings goals with a daily number attached

GreenStash is described as a simple FOSS android app to help you plan and manage your savings goals easily and establish the habit of saving money. The homepage is pool-of-tears.github.io and the licence is MIT.

The feature list is where the app's actual idea becomes clear. You can add images to your saving goals to keep you motivated, which is a small touch that says more about the audience than the word tracker does. More substantively, the app shows how much you need to save daily, weekly or monthly to achieve your goal before a deadline, which turns an abstract target into a number you can act on this week.

Around that sit the expected parts of a savings tracker. Detailed transaction history for withdrawals and deposits. Reminders that arrive daily, semi-weekly or weekly depending on the priority of a goal. Support for around 100 or more local currency symbols, which matters for an app that is distributed internationally and is used to record amounts in a currency the user thinks in.

The app is also offline in a literal sense. The documentation states that GreenStash does not require internet permission to work, and that the app contains no ads and does not sell your data. For an app that records financial goals, that is a meaningful property rather than a marketing line, and it is enforced by the absence of the permission rather than by a promise.

Compatibility is stated as Android 7.0 and above, API 24 and up, and Material You theming is supported on devices running Android 12 and later.

The stack is current Android practice, not a legacy codebase

The tech stack section reads like a statement of intent about which Android practices the project follows.

Kotlin is the language. Coroutines are there to improve performance by doing I/O tasks off the main thread asynchronously, and Flow is used as a cold asynchronous data stream that sequentially emits values and completes normally or with an exception. The Android Architecture Components are in use, with Jetpack Compose as the UI toolkit, LiveData for data objects that notify views when the underlying database changes, and ViewModel to store UI related data that is not destroyed on UI changes.

Two libraries are worth calling out because they are choices rather than defaults. Lottie renders After Effects animations in real time, which is how an app can have animated illustrations without shipping video. Coil is the image loading library, backed by Kotlin Coroutines, and it is what makes the per-goal images work without blocking the interface.

The repository topics fill in the rest: MVVM, a Room database, Hilt for dependency injection, Material Design and Material You, and the fdroid tag, which confirms the app is distributed through F-Droid as well as the store.

One architectural note in the highlights list is phrased as MAD, meaning that the UI and logic are written with pure Kotlin, in a single activity with no fragments, only composable destinations. For an app that has been rewritten several times, the single activity and composable destinations approach is what keeps the navigation model from fragmentising over time.

Four distribution channels, and the F-Droid route is the one that matches the licence

The downloads section lists four places to get the app, which is unusual and worth understanding rather than glossing over.

There is the Google Play listing under the package id `com.starry.greenstash`. There is F-Droid, with the package at `com.starry.greenstash` as well. There is IzzyOnDroid, which is an alternative F-Droid repository that some people prefer because it builds more frequently. And there are GitHub releases, from the releases page of the repository, which point at the same build assets.

The split between the Play Store build and the F-Droid build is the thing to be aware of. The project is MIT licensed and open source, but the Play Store listing is a paid purchase according to the donations section, so the store build is the commercial route while the F-Droid route is the free one. The development is financed by individual user contributions, such as purchasing the app via Google Play or becoming a GitHub sponsor, and the project says plainly that there are no ads and no data sale.

The package identifier `com.starry.greenstash` is the same across channels, which is a small signal that these are builds of the same application rather than a free edition and a paid edition with different code.

For a user who wants the free and fully open route, the F-Droid and IzzyOnDroid listings are the ones to use, and the GitHub releases page is the fallback when neither repository has caught up with a new version.

Translating it yourself is a documented path, not a favour

The translations section says you can help translate the app on Weblate, and it gives a second option for people who prefer to work directly: create a pull request with your translation file.

The base string resources live in one file:

text
/app/src/main/res/values/strings.xml

The documentation says the easiest way to make a translation is the Android Studio XML editor, though any XML text editor works, and it points to a guide on translation strings from Helpshift for Android.

This is the part of the project that is most useful to a reader who is not an Android developer but has a language to contribute. The app is distributed internationally, it supports around 100 or more local currency symbols, and it has a Telegram channel for the project, the PotApps channel, which is presumably where announcements and questions go. A translator does not need to build the app, only to produce a strings file.

For bug reports, feature requests and questions, the contributing guide asks to be read first, and the badge in the project status line marks the project as active, meaning it has reached a stable, usable state and is being actively developed.

Where GreenStash does not reach

Three limits are worth stating plainly.

The first is scope. This is a savings goal tracker, not a money manager, despite the topic tags including money-manager and finance-management. There is no account import, no transaction feed from a bank, no budget, and no investment tracking. The transaction history it keeps is the history you enter. If your problem is seeing where the money actually went, this is the wrong app, and the repository topics oversell it slightly on that point.

The second is platform. Android only, and API 24 or later. There is no web companion, no desktop client and no sync, and the offline design means there is nothing to sync with, which cuts both ways: your data stays on the device, and it stays there until you move it.

The third is the pace and the shape of the project. It is a single maintainer project with a sponsor and store funding model, and the store listing is a paid purchase while the F-Droid build is free. Releases land when they land: v4.4.0 in May 2026, v4.3.0 in March 2026 and v4.2.1 in December 2025, with the last push on 2026-08-15.

The alternative to name is a general purpose personal finance app with bank sync, which is a different product in a different direction, plus spreadsheets, which is the honest zero-dependency option for a simple savings goal. The difference in approach is that GreenStash optimises for the case where you want a small, private, offline tool that answers one question, how much to set aside this week, and it does that with a modern Android stack and no permission to reach the network.

Editorial conclusion

Adopt GreenStash if you want a savings goal tracker that keeps your financial data on the device, works without a network, and comes from a project that publishes its source and accepts translations through Weblate. Do not adopt it as a full money manager, since the scope is savings goals rather than accounts, budgets or investments, and expect a single developer pace of development. Verify first which distribution channel you prefer, since the Play Store build and the F-Droid build may differ, and check the minimum Android version against your own device before installing.

Frequently asked questions

What is GreenStash?

It is a simple FOSS android app to help you plan and manage your savings goals easily and establish the habit of saving money, written in Kotlin with Jetpack Compose and licensed under MIT.

Does GreenStash work without an internet connection?

Yes. The documentation states that GreenStash does not require internet permission to work, and the app contains no ads and does not sell your data.

Where can I download GreenStash?

From Google Play under the package id com.starry.greenstash, from F-Droid, from the IzzyOnDroid repository, and from the GitHub releases page. The Play Store build is a paid purchase while the F-Droid route is free.

How can I translate GreenStash into another language?

You can help translate the app on Weblate, or create a pull request with your own translation file. The base string resources are in /app/src/main/res/values/strings.xml, and the documentation points to the Android Studio XML editor as the easiest tool.

What are the minimum requirements for GreenStash?

Android 7.0 and above, which is API 24 and up, with Material You theming supported on devices running Android 12 and later. The app is built for Android with Jetpack Compose, using a single activity and composable destinations.

Official sources

  1. License: MIT
  2. Pool-Of-Tears/GreenStash on GitHub
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/pool-of-tears-greenstash.svg)](https://hysenlabs.com/projects/pool-of-tears-greenstash)

Was this useful?