OpenArgentum

OpenArgentum

OpenArgentum

OpenArgentum Dashboard with Aurelia AI assistant


Quick Start

You need: Python 3, Node.js, and a free Google Gemini API key (or existing Google Cloud Application Default Credentials)

git clone https://github.com/amithmathew/OpenArgentum.git
cd openargentum
./start.sh

Open http://localhost:8099 and the onboarding wizard will walk you through setup.

That’s it. start.sh creates a Python virtual environment, installs all dependencies, builds the app, and starts the server. See Getting Started for a detailed walkthrough.


Import Your Statements

Drop your bank and credit card statements into OpenArgentum and let AI do the rest.

Import a bank statement and watch AI extract transactions


Meet Aurelia

Aurelia

Aurelia is your AI finance assistant. She lives inside OpenArgentum, has direct access to your data, and can answer questions, build charts, and make changes – all through conversation.


Ask anything about your money

“How much did I spend on dining out last quarter?”

“Show me my grocery spending by store over the last 3 months”

“What’s my average monthly grocery bill?”

Aurelia queries your data, summarizes the answer, and renders charts right in the chat.

Ask Aurelia about grocery spending and get a chart

Understand your spending patterns

“Why were my January expenses so much higher than December?”

“Compare my essential vs discretionary spending this year”

Aurelia breaks down the numbers, highlights what changed, and explains why.

Aurelia analyzes spending changes between months

Make bulk changes safely

“Tag all my Ticketmaster expenses as Impulse and move them to discretionary”

“Create a project called ‘Home Renovation’ and add all Home Depot transactions”

Aurelia shows you exactly what will change and waits for your approval. Every change can be undone with one click.

Aurelia proposes bulk changes with approval workflow

Conversation memory

Aurelia remembers your past conversations. Pick up where you left off, or start a new chat anytime.


Dashboard & Analytics

See where your money goes at a glance.

Transaction Management

Every transaction at your fingertips.

Categories, Tiers & Tags

Organize your spending the way that makes sense to you.

Projects & Budgets

Track spending against goals.

Themes

Eight built-in color themes.

Light: Mist, Rose, Sage, Ember, Ocean, Slate – Dark: Nightfall, Aurora

Access from Your Phone

Run with ./start.sh --headless to access OpenArgentum from any device on your local trusted network. A PIN is generated automatically to keep things secure.


Privacy & Security

Your financial data never leaves your control.


Updating

Your data is safe across updates. Pull the latest code and restart:

git pull
./start.sh

Your database, config, and uploaded files live in the data/ directory which is never touched by git. Database migrations run automatically on startup.


Configuration

API Key Setup

Option A: API Key (recommended)

  1. Get a free key from Google AI Studio
  2. Enter it during onboarding, or later on the Settings page

Option B: Google Cloud credentials

  1. Install the Google Cloud CLI
  2. Run gcloud auth application-default login
  3. Select “Application Default Credentials” during onboarding

Environment Variables

Variable Default Description
GOOGLE_API_KEY Gemini API key (can also be set through the UI)
GEMINI_MODEL gemini-2.5-flash Gemini model to use
PORT 8099 Server port

Most users won’t need these – the UI handles everything.

Command Reference

./start.sh                         # Start the app
./start.sh --dev                   # Development mode with hot reload
./start.sh --headless              # Enable network access (auto-generates PIN)
./start.sh --headless --pin 1234   # Network access with a specific PIN
./start.sh --help                  # Show all options

Developer Details ### Architecture ``` openargentum/ start.sh # One-command setup and launch run.py # Server entry point backend/ # Python + FastAPI app.py # App init, auth middleware, routing config.py # Paths, env vars, config helpers database.py # SQLite schema and migrations models.py # Request/response models routers/ # REST API endpoints services/ # Gemini client, ingestion, categorization, # chat tools, mutations frontend/ # React + Vite + TailwindCSS src/ pages/ # Dashboard, Transactions, Categories, # Projects, Import, Settings components/ # ChatPanel (Aurelia), OnboardingWizard, # AppLogo, InstitutionIcon hooks/ # useIsMobile data/ # Created at runtime (gitignored) finance.db # SQLite database config.json # App configuration statements/ # Uploaded files snapshots/ # Database snapshots sandboxes/ # Aurelia analysis sandbox DBs ``` ### Tech Stack **Backend:** Python 3, FastAPI, SQLite, google-genai SDK, pdfplumber **Frontend:** React 19, Vite, TailwindCSS, Recharts, TanStack React Query **AI:** Google Gemini 2.5 Flash ### Development ```bash ./start.sh --dev ``` This starts the Vite dev server with hot module replacement and the backend with auto-reload. The Vite dev server proxies `/api` requests to the backend.