Skip to content

Installation

Before installing Budget, ensure you have:

Terminal window
git clone https://github.com/Skyline-9/budgetzilla.git
cd budgetzilla
Terminal window
cd webapp
npm install
Terminal window
npm run dev

This starts a development server at http://localhost:5173 with hot reload.

Terminal window
npm run build
npm run preview

The built files are in webapp/dist/ and can be served by any static file server.

Terminal window
cd webapp
npm run tauri:dev

This starts the Vite dev server and opens the native application window.

Terminal window
cd webapp
npm run tauri:build

Build artifacts are output to src-tauri/target/release/bundle/.

PlatformOutput Format
macOS.app, .dmg
Windows.msi, .exe
Linux.deb, .AppImage

Budgetzilla uses Tauri to bridge the web frontend with a native Rust backend:

  1. Vite Build — Compiles the React application into static assets.
  2. Rust Compilation — Compiles the native backend and bundles the assets.
  3. Packaging — Creates platform-specific installers and bundles.

Data is stored using OPFS (Origin Private File System). This means:

  • Data persists across browser sessions.
  • Private/incognito mode won’t persist data.
  • Clearing browser data WILL delete your budget data.

The desktop app stores data in the standard system application data folder:

  • macOS: ~/Library/Application Support/com.budgetzilla.app/
  • Windows: %APPDATA%\com.budgetzilla.app\
  • Linux: ~/.local/share/com.budgetzilla.app/

If data isn’t persisting:

  1. Ensure you’re not in private/incognito mode
  2. Check browser supports OPFS (Chrome, Edge, Firefox)
  3. Check storage quota in browser settings
Terminal window
# Full verbose rebuild
CLEAN=1 VERBOSE=1 ./build_mac_app.sh
Terminal window
killall Finder && killall Dock

Only needed if you want to modify the build system:

Terminal window
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh