Overview

Getting Started with Aina

Aina is an offline-first personal finance tracker. Everything runs in your browser — there's no server, no account, and no data ever leaves your device. Your data is only stored in your browser.

First Run

When you open Aina for the first time you'll see the onboarding screen with three options:

Upload Existing Database

Drag and drop or browse for your .sqlite or encrypted .aina file to restore a previous backup.

Restore from Google Drive

Connect your Google account and pick from existing Drive backups.

Start Fresh

Creates a new empty database pre-loaded with default categories. Good for first-time users.

Avoid private or incognito mode

Browsers wipe IndexedDB storage when a private window is closed, which will permanently erase all your data. Always use a regular browser window.

Screenshot — Onboarding screen
Add a screenshot of the Aina onboarding / landing screen

Transactions

Importing Statements

Aina can ingest credit card and bank statements — PDFs or CSVs — and automatically categorize each transaction. There are two categorization engines to choose from.

Claude AI Mode

Uses Anthropic's Claude model to read and categorize transactions with high accuracy. Understands merchant names, abbreviations, and uses your existing category taxonomy.

  • Supports PDF & CSV files
  • Requires a Claude API key
  • Requires internet connection

Local AI

A classifier that runs entirely in the browser. Trains on your own transaction history and improves over time.

  • CSV files only
  • 100% offline, no API key
  • Improves with more data
  • Does not require an internet connection
Note: To open the import modal, go to Power Ledger and click the Import button in the top-right toolbar.
Claude AI Mode

Best for first-time imports or whenever you want maximum accuracy. Claude reads the raw statement text and maps each line to your category taxonomy.

1

Add your Claude API key

Go to Settings → Claude AI and paste your API key (starts with sk-ant-). You only need to do this once — the key is saved on your device.

2

Open the Import modal

Navigate to Power Ledger and click the Import button in the top-right. The import panel will slide in from the right.

3

Select Claude mode

At the top of the import panel, choose Claude. If your API key is configured, the status indicator will show green.

4

Enter card details

Fill in your card or account name (e.g. Chase Sapphire) and optionally the last 4 digits. These are saved with each transaction so you can filter by card later.

5

Upload your statement

Drag and drop a .pdf or .csv file onto the upload area, or click to browse. Max file size is 20 MB. Claude mode accepts both PDF and CSV.

6

Click Extract & Categorize

Aina sends the statement text to Claude. You'll see a progress indicator while each transaction is categorized. For a 50-transaction statement this typically takes 10–20 seconds.

7

Review and confirm

A table appears showing all extracted transactions with predicted categories. Check for any errors, edit inline if needed (see Reviewing & Editing), then click Import X transactions.

GIF — Claude import flow (open modal → upload → review → import)
Add a GIF showing the full Claude import flow Suggested length: ~15 seconds — open modal, select Claude mode, upload PDF, wait for extraction, review table, click Import
Tip: Claude uses your existing categories from the Categories page to label transactions. The more specific your taxonomy, the better the results.
Local AI Mode

A classifier that trains on your own transaction history. No API key needed, no internet connection required. Accuracy improves each time you retrain after correcting categorizations.

1

Open the Import modal

Navigate to Power Ledger and click Import.

2

Select Local mode

Choose Local at the top of the import panel. If the model has never been trained, the status badge will show Not trained.

3

Train the model (first time only)

Click Retrain. The classifier reads all your existing categorized transactions and builds a model in the browser. This takes a few seconds and only needs to be done once (or after significant new data).

4

Upload a CSV statement

Drag and drop a .csv file. Local mode supports CSV only (no PDFs). Aina auto-detects column names from common bank/card export formats (Chase, Amex, BofA, Citi).

5

Review and import

The model predicts a category for each transaction. Review the results, fix any wrong predictions, then click Import X transactions.

Screenshot — Local mode panel with model status and CSV upload
Add a screenshot of the Local Classifier panel showing model status + CSV upload area
Reviewing & Editing Transactions

After extraction you'll see a review table. You can edit any row before confirming the import.

ActionHow
Edit a cellClick directly on the merchant, category, subcategory, or description cell and type your change.
Change transaction typeUse the Type dropdown on each row (Expense / Refund / Payment / Deposit).
Exclude a rowUncheck the checkbox on the left of the row. Unchecked rows are skipped during import.
Bulk editUse the Bulk Edit toolbar above the table to set Merchant, Category, Subcategory, or Type on all selected rows at once.
Filter the review tableType in the filter box to narrow down rows by merchant or description while reviewing.
GIF — Inline editing a category in the review table
Add a GIF showing: click a category cell → type to change → tab to next cell → click Import

Assets

Adding an Asset

The Asset Manager tracks your investment accounts, retirement funds, property, and other holdings. Each asset has a running valuation history so you can see your net worth over time.

1

Open the Assets page

Click Assets in the sidebar.

2

Click "Add Asset"

The button is in the top-right of the page. A form panel will appear.

3

Fill in the asset details

See the field reference below for what each field means.

4

Click Save

The asset card appears on the Assets page. You can now add valuations to it.

FieldDescription
Name requiredHuman-readable name, e.g. "Fidelity 401k" or "Primary Residence".
Institution optionalThe financial institution or brokerage holding the asset.
Asset Class requiredEquity, Bond, Cash, Real Estate, or Other. Used for allocation charts.
Tax Category requiredTaxable, Traditional IRA, 401k, Roth, HSA, or Other. Determines tax treatment in reporting.
Is LiquidToggle on if this asset can be quickly converted to cash (e.g. savings, money market). Off for property, RSUs with vesting cliffs, etc.
Primary Beneficiary optionalName of the primary beneficiary on file for this account.
Secondary Beneficiary optionalName of the secondary beneficiary.
Screenshot — Add Asset form
Add a screenshot of the Add Asset form panel
Logging a Valuation

Valuations are point-in-time snapshots of an asset's worth. Each valuation you log adds a data point to the asset's trend chart. You can you update valuations of multiple assets at once

1

Find the asset card

On the Assets page, locate the asset you want to update.

2

Click "Log Valuation"

The button appears on the asset card. A valuation form panel will open.

3

Enter the valuation data

At minimum, enter the Date and Total Vested Value. For equity grants, you can also fill in unit price and vested/unvested unit counts.

4

Save

The asset card updates immediately with the new value. The trend chart gains a new data point.

FieldDescription
Valuation Date requiredThe date this value applies to. Usually today or the statement close date.
Total Vested Value requiredThe current market value of all vested holdings. For cash accounts, just the account balance.
Unit Price optionalPrice per share/unit. For stock grants, RSUs, or ETFs.
Vested Units optionalNumber of vested shares or units held.
Unvested Units optionalNumber of units not yet vested (stock options, RSUs still in cliff).
Unvested Value optionalMarket value of the unvested portion (unvested units × unit price).
Notes optionalAny context for this snapshot, e.g. "Q1 grant vest" or "rebalanced portfolio".
Tip: For simple cash / savings accounts you only need Date and Total Value. The unit-level fields are designed for equity grants (RSUs, stock options, 401k units).

Planning

Budgets

Set spending limits for any category or subcategory. The Budgets page shows a progress bar for the current period and flags over-budget categories.

1

Go to Budgets

Click Budgets in the sidebar.

2

Click "Add Budget"

A form panel opens.

3

Choose the category

Select the Category (required). Optionally pick a Subcategory for a more granular budget — for example a Food & Dining / Restaurants budget separate from Food & Dining / Groceries.

4

Set the amount and period

Enter the budget amount. Choose a period: Monthly, Weekly, Yearly, or Custom (which unlocks start/end date pickers).

5

Save

The budget card appears on the Budgets page with a real-time progress bar comparing your actual spending to the limit.

Tip: Budgets reference your transaction categories. If a category has no transactions yet in the current period, its progress bar shows $0 spent — add transactions first to see it update.
Screenshot — Budgets page with progress bars
Add a screenshot of the Budgets page showing several budget cards with progress bars

Planning

Categories & Subcategories

Categories are the labels attached to every transaction. They drive the Dashboard charts, budgets, and the classifier's predictions. Aina ships with a default set; you can add, rename, or deactivate any of them.

Managing Categories
1

Go to Categories

Click Categories in the sidebar.

2

Choose the tab

The page has two tabs: Categories (top-level) and Subcategories (nested labels). Use the tab toggle at the top to switch.

3

Add a new category

Click the + Add button in the top-right. A new row appears in the table — type the name and optionally set a Reporting Group, then press Enter or click away to save.

4

Inline-edit an existing category

Click on any name or reporting group cell to edit it in place. Changes are saved instantly.

5

Toggle active / inactive

Use the toggle switch on each row to mark a category inactive. Inactive categories are hidden from import dropdowns and the Dashboard but their historical transactions are preserved.

Reporting Groups are used to aggregate categories in the Dashboard's charts. For example, put Groceries and Restaurants both in the Food reporting group to see a combined Food slice in the pie chart.
GIF — Adding a new category and setting its reporting group
Add a GIF: click "+ Add" → type name → set reporting group → press Enter

Planning

Liabilities

Track loans, mortgages, credit card balances, and any other debts. The Liabilities page shows your total outstanding debt, estimated payoff timelines, and total interest projections.

1

Go to Liabilities

Click Liabilities in the sidebar.

2

Click "Add Liability"

A form panel opens.

3

Fill in the liability details

See the field reference below.

4

Save

The liability card appears with a payoff progress bar and amortization summary.

5

Log payments over time

Click Log Payment on the card to record a payment. Enter the date, total payment amount, and optionally the principal/interest split. The outstanding balance updates automatically.

FieldDescription
Name requiredE.g. "Home Mortgage", "Tesla Loan", "Chase Freedom Balance".
Type requiredMortgage, Car Loan, Student Loan, Credit Card, Personal Loan, or Other.
Outstanding Balance requiredCurrent remaining balance on the debt.
Interest Rate optionalAnnual interest rate as a percentage (e.g. 6.5 for 6.5%). Used for payoff projections.
Minimum Payment optionalThe minimum monthly payment. Used to project payoff timeline.
Maturity Date optionalThe expected payoff or maturity date of the loan.
Institution optionalLender name, e.g. "Wells Fargo", "Navient".
Screenshot — Liabilities page with cards and payoff summary
Add a screenshot of the Liabilities page showing liability cards and the total debt summary

Settings

Backup & Restore

Your entire database is a single file. Back it up regularly — it contains every transaction, asset, and budget you've added.

Local Export

Go to Settings → Data Management → Backup Database and click Export. This downloads a timestamped .sqlite file you can store anywhere.

Toggle Encrypt export before clicking Export to download an AES-256-encrypted .aina file protected by a passphrase of your choice.

Restore from Backup

To restore, go to the onboarding screen (reset the app, or open in a new browser profile) and drag your .sqlite or .aina file onto the upload area. For encrypted .aina files, you'll be prompted for your passphrase.

Warning: If you lose your passphrase for an .aina encrypted backup, the data cannot be recovered. There is no password reset.
Google Drive Sync

Aina can automatically back up your encrypted database to a Google Drive folder called Aina Backups. Backups are AES-256-GCM encrypted before upload — Google never sees your raw data.

1

Go to Settings → Google Drive

Click Connect Google Drive and sign in with your Google account.

2

Click "Backup Now"

You'll be prompted for a passphrase to encrypt the backup. The file is uploaded to Drive as aina-backup-[timestamp].aina.

3

Restoring from Drive

On the onboarding screen, click Connect under Google Drive Sync, sign in, and choose a backup from the list. Enter your passphrase when prompted.

Tip: Aina keeps the 10 most recent Drive backups and auto-deletes older ones. Back up after any large import session to stay current.