Personal Project · Finance App · Privacy-First

Maaliyad.

A personal finance tool that actually understands multi-currency life.

Dashboard MVP · Coming Soon
No data sent to any server
SEK · EUR · USD · Multi-currency

Finance built for the diaspora.

Most budgeting apps assume one country, one currency, one bank. Mine doesn't fit that model — income and expenses across Sweden and Germany, debt across multiple creditors, and regular remittances to family abroad. I built Maaliyad to manage all of it from a single dashboard.

Under the hood it does something most personal finance apps skip entirely: proper double-entry bookkeeping. Every transaction is a journal entry with debit and credit sides, accounts mapped to IFRS ranges and Swedish BAS codes, and a P&L built by aggregating account balances — not by summing a transactions table.

It also includes a multi-format bank statement parser that handles Swedbank CSV (latin-1 encoded), Resurs Bank PDF, and re:member PDF directly in the browser. No data is sent to any server. All parsing happens client-side, on your device.

The name Maaliyad (ماليات) is Somali/Arabic for "finances" — the word that's been in my head every time I've tried to wrangle a cross-border financial life into a tool that wasn't built for it.

Status
Coming Soon · Early Access
Type
Personal finance dashboard · Next.js app
Privacy
Bank statement parsing is 100% client-side — no data uploaded anywhere
Accounting standard
Double-entry · IFRS ranges · Swedish BAS codes
Supported formats
Swedbank CSV · Resurs Bank PDF · re:member PDF

Technical highlights.

01 / 04

Double-Entry Engine

IFRS Ranges · Swedish BAS Codes

Every transaction is a proper journal entry — debit and credit sides, accounts mapped to IFRS ranges and Swedish BAS codes. The P&L is built by aggregating account balances, not by summing a transactions table. Real accounting.

02 / 04

Client-Side Parser

Swedbank · Resurs · re:member

Bank statements are parsed entirely in the browser using Papaparse for CSV and pdfjs-dist for PDFs. Handles latin-1 encoded Swedbank exports and PDF statements from Resurs Bank and re:member. Nothing leaves your device.

03 / 04

Multi-Currency

SEK · EUR · USD · Remittances

Built from the ground up for a life that spans multiple currencies and countries. Track income and expenses in SEK and EUR simultaneously, manage cross-border debt, and log regular remittances — all in one ledger.

04 / 04

Debt Tracker

Multi-Creditor · Payment Schedules

Track debt across multiple creditors with individual payment schedules, remaining balances, and interest. Designed for the reality of managing debt across different financial institutions in different countries.

Stack.

Next.js 14 TypeScript Papaparse pdfjs-dist Recharts Tailwind CSS React 18 Client-Side Parsing Double-Entry Bookkeeping

Coming soon.
Sign up for early access.

The dashboard MVP is live and functional — the ledger engine is built, and the journal entry UI is in progress. I'm currently preparing it for public release.

Note: All bank statement parsing runs in your browser. No financial data is ever uploaded to a server.