Skip to content

Repository files navigation

Zpay

Zpay is a Tauri desktop app for turning bank statement Excel files into reusable, interactive analytics dashboards.

Features

  • Import bank statements from .xlsx / .xls
  • Parse account details and transaction rows
  • Save statements locally as Parquet and reopen them later
  • Browse and delete saved statements in a dedicated window
  • Create and manage multiple dashboards per statement
  • Edit dashboard layouts (add, move, resize, duplicate, delete panels)
  • Build chart panels in a full-window chart editor
  • Add KPI, text, and insights panels
  • Import/export dashboard files (.zpaydash / .json)
  • Customize the default dashboard template for newly imported statements
  • Optional AI chart assistant (OpenAI or Anthropic) with user-managed API key
  • Theme support (System, Light, Dark) from the native app menu

Tech stack

  • Frontend: React 19 + TypeScript + Vite
  • Desktop runtime: Tauri 2
  • Backend: Rust commands exposed via Tauri
  • Data handling: xlsx, Parquet/Arrow, Polars
  • Visualization: @kanaries/graphic-walker
  • State management: zustand

Prerequisites

  • Node.js and npm
  • Rust toolchain
  • Tauri system prerequisites for your OS

Getting started

Install dependencies

npm install

Run frontend only (web)

npm run dev

Run desktop app in development

npm run tauri dev

Build frontend bundle

npm run build

Build desktop app package

npm run tauri build

Project structure

  • /src – app windows, routing, parser, and dashboard UI
  • /src/components/dashboard – dashboard panels, grid, and toolbar
  • /src/store – statement, dashboard, and theme state
  • /src/lib – helpers for windows, defaults, AI chart prompts, and insights
  • /src/data – statement data loading and KPI helpers
  • /src/types – shared TypeScript models and schema validation
  • /src-tauri – Rust backend commands and native app configuration

Notes

  • Statement and dashboard data are stored locally via the Tauri backend.
  • AI chart generation is opt-in and requires configuring your own provider API key.

Getting started

Prerequisites

  • Node.js and npm
  • Rust toolchain
  • Tauri prerequisites for your OS

Install dependencies

npm install

Run the desktop app in development

npm run tauri dev

Build the frontend bundle

npm run build

Build the desktop app package

npm run tauri build

Project structure

  • /src - main React app (upload, loading, dashboard, and secondary windows)
  • /src/components/dashboard - dashboard toolbar, grid, panels, and sidebar widgets
  • /src/store - statement and dashboard state management
  • /src/data - statement loading, enrichment, and summary utilities
  • /src-tauri - Rust/Tauri backend commands and desktop configuration
  • State management: zustand

Getting started

Prerequisites

  • Node.js + npm
  • Rust toolchain (for Tauri)
  • Tauri system dependencies for your OS

Install

npm install

Run in development

npm run tauri dev

Build frontend

npm run build

Project structure

  • /src – React app (upload flow, parser, loading flow, dashboard workspace)
  • /src/components/dashboard – dashboard UI, toolbar, grid and panel types
  • /src/store – dashboard editing and autosave state
  • /src-tauri – Tauri/Rust backend and desktop configuration

Notes

This repository is still evolving quickly; expect frequent changes.

About

An app that shows a dashboard of your transactions from your bank statement

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages