Oracle3
Open-source trading engine and MCP server for prediction markets. Fee-aware no-arbitrage trading across related contracts, live on Kalshi, Polymarket and Solana or on paper.
Fulla is a free, open source household money app for Android. It works offline, can be shared by QR code, and keeps your data on your phone or in your own Supabase project.
FinanceKotlin · PLpgSQLGitHub @SirAllapOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
A household money app for Android: what comes in, what goes out, and what stays. Offline-first, your data on your phone or in your own Supabase. Free and open source (GPL-3.0).
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Fulla keeps a household's money straight: what came in, what went out, what
is left, and who owes whom. It is an Android app for one person or a whole
household. It works offline, it collects nothing, and your data lives on your
phone or in a database you own.
It is named after Fulla, the Norse goddess of plenty, whose name means
full and who wore a golden band. The app draws your month as a vessel that
fills; the golden band is its icon.Read the full README ↗sirallap.github.io/fulla · Download · Get started
Fulla keeps a household's money straight: what came in, what went out, what is left, and who owes whom. It is an Android app for one person or a whole household. It works offline, it collects nothing, and your data lives on your phone or in a database you own.
It is named after Fulla, the Norse goddess of plenty, whose name means full and who wore a golden band. The app draws your month as a vessel that fills; the golden band is its icon.
0.1 — first public release. The backend, the domain logic and the sync are complete and tested, and the app is in daily use on real phones. Expect rough edges, and please report them.
Just you, on one phone (two minutes):
fulla-<version>.apk from the
latest release and
open it on your phone. Android asks once to allow installs from your
browser or file manager: allow it, then install.Shared with your household (about five minutes, once; everyone else just scans a QR code):
New phone, or reinstalled the app? Nothing is lost. Make a fresh token (step 3) and paste it in Shared: the app finds your project and reconnects. Then I already have an account.
The whole setup, and doing it by hand, is in docs/self-hosting.md.
Fulla has no server of its own and collects nothing: no analytics, no telemetry, no crash reporting, no ads.
The app talks only to your own <project>.supabase.co, with two exceptions
you can see coming: setting a project up from a token reaches Supabase's
api.supabase.com for those few minutes, and checking for updates asks
api.github.com and downloads from GitHub. docs/privacy.md
lists everything and explains how to check it yourself with a proxy.
Fulla ships only as signed APKs on GitHub Releases, never through Google Play. You install it by hand once; after that the app finds new releases itself, shows that one is waiting, and downloads and installs it from Settings when you say so. Checking is on by default and can be turned off in Settings › About. Android checks that every update is signed with the same key as the app you have.
core/ the app's logic in plain Kotlin: money, sync, splits, analytics, importers
client/ the protocol in plain Kotlin: wire format, Supabase transport, sync, setup, updates
app/ the Android app (Jetpack Compose)
supabase/migrations/ the database: tables, row level security, and the API
supabase/tests/ a suite that runs the real migrations on a real PostgreSQL
supabase/scripts/ setup.sql bundler and migration runner
testdata/ defaults and test vectors shared by the database and the app
tools/ the leak scanner and the translation check
docs/ architecture, sync, API, data model, design, decisions
./gradlew :core:test :client:test # the domain and the protocol; needs a JDK 17+
npm run test:db # the database; needs PostgreSQL installed (not running)
npm run i18n # every language has every string
npm run leakcheck # no secrets or personal data in the working tree
npm run hooks:install # run that scan on every commit
The database suite starts its own throwaway PostgreSQL in a temporary
directory and never touches a real project (apt install postgresql is
enough on Debian or Ubuntu). The Android app builds in CI, which publishes a
debug APK to the latest-debug
prerelease on every change.
CONTRIBUTING.md before a pull request, AGENTS.md for the rules the code depends on, docs/design.md for the design system, and SECURITY.md to report a vulnerability privately.
Fulla is free software under the GNU General Public License v3.0 or later: anyone may use, study, change and share it, and whoever distributes it, changed or not, passes on the same freedoms with the source. Third-party components keep their own licences, listed in THIRD_PARTY_NOTICES.md.