Mahalli

Mahalli is a desktop app for inventory and invoicing, built around the B2B document chain Moroccan businesses use. The name means "local" in Arabic. It runs on Tauri v2, with a Nuxt 4 frontend on a native Rust backend that uses SeaORM.

What it does

  1. Document chain

    It covers every step of a B2B sale: quote, customer order, delivery note, invoice, payment, and credit note. Payments can be partial or full, the app tracks what each client still owes, and every document prints to PDF.

  2. Workspaces

    You can create, clone, and switch between separate workspaces without restarting the app.

  3. Inventory and clients

    It tracks stock, keeps each client's full transaction history, and has a dashboard with charts and analytics.

  4. Works offline

    It stores everything locally in SQLite, so there's no server to run. The interface supports more than one language through i18n.

What was hard

  1. Two layers of SQLite

    Each workspace is its own SQLite tenant database. A separate system catalog database tracks every workspace and which one is active, and the app hot-swaps the tenant connection when you switch.