BudgetClick

Your budget. Your storage. Your key.

Track money in a spreadsheet with widgets beside it. Works offline, and every record is encrypted on your device before it reaches your own storage.

  • Works offline
  • Encrypted before upload
  • You own the data
  • No sign-up
  • Installs as an app

A spreadsheet and widgets, side by side

Spreadsheet

Review many transactions at once. Every row shows the running balance after it, calculated from the month's starting balance.

Widgets

Add or edit a transaction, mark it income or expense, planned or actual, and read monthly statistics without leaving the page.

On small screens, the two parts become two tabs.

Several accounts, several currencies

Give each account its own currency: a salary account in CHF, savings in EUR, a travel card in USD.

BudgetClick converts everything into your default currency using the exchange rates you enter, each with its own date. Enter a rate in one direction and the reverse works too. If a rate is missing, the app uses 1:1, so add the rates you need.

Example rates: 1 EUR = 0.94 CHF, 1 USD = 0.88 CHF.

Monthly statistics

See income, outcome and ending balance for every month, for all accounts together or for each account on its own.

Planned and actual transactions are counted together. Statistics are calculated from your transactions, so they can always be rebuilt, and they sync like the rest of your data.

All accounts, in CHF.

What you get

Offline first

Changes save on your device and sync when you are back online.

Several devices

Newer data from your storage replaces older data on each device.

Receipts

Attach files to a transaction. They download only when you open them.

Your structure

Categories and contractors, set up the way you spend.

Your data never leaves unencrypted

  1. Your deviceData is encrypted with AES-GCM using a key derived from your passphrase.
  2. RelayA thin proxy passes encrypted objects to your bucket. It stores nothing.
  3. Your S3 bucketHolds only encrypted objects and a public salt. Any S3-compatible provider works.

BudgetClick cannot recover your data. If you lose both the passphrase and the key saved on your device, the data is gone.

Start in three steps

  1. Install

    Open the app in your browser and install it. On iPhone, use Share, then Add to Home Screen.

  2. Connect storage

    Paste the address of your S3-compatible bucket. Help in the app explains the bucket setup.

  3. Set a passphrase

    Choose one you will not lose. It creates the encryption key.

Open app

Made for

People who want control of their financial data, self-hosters, and anyone who thinks best in a spreadsheet.

Not yet for

Automatic bank imports and shared wallets for several people. Neither is available yet.

Open source, built in public

The full source code is public, so you can check how your data is encrypted and where it goes. The whole build is documented on video, from the first design decisions to each release.

The code is MIT licensed. You can fork it and repackage it, including in commercial or closed-source products.

Questions

Where is my data?

In a copy on your device and in the S3-compatible bucket you provide. BudgetClick runs no database.

What does the relay see?

Your bucket address and encrypted objects. It does not store anything and cannot read the contents.

Why does the bucket policy allow public access?

BudgetClick uses no AWS credentials. Everything stored is encrypted, so public access exposes only unreadable objects. Use a dedicated bucket and keep its address private.

What if I lose my passphrase?

Your data cannot be recovered. Keep the passphrase somewhere safe.

Which storage works?

AWS S3, Cloudflare R2, Backblaze B2 and MinIO.

Can I read the code?

Yes. BudgetClick is open source, and the development is recorded in a public video playlist.

Is it free?

Yes, you only pay your storage provider.