ALI-MARS
Android Native1 ACTIVE MODULES

Building Charge Manager

A Persian-first, local-first Android accounting suite for residential financial management.

Building Charge Manager is a production-grade Android application replacing convoluted accounting spreadsheets with an offline-first financial ledger. Engineered with Kotlin and Jetpack Compose, it features complex expense division algorithms, local Room persistence, automated Persian bank SMS parsing, and vector PDF receipt generation.

Android MobileAndroid NativeFinancial & Business Systems
Project Status: Release Candidate (Production Grade)
The Engineering ProblemArchitectural GoalsCore Capabilities & MechanicsTechnology Stack by ComponentSystem Architecture Deep-DiveRepository Source Matrix (1)

The Engineering Problem

Residential building accounting is notoriously error-prone: variable division rules (by area, occupants, parking spots, or custom ratios), tracking outstanding debts, and matching bank deposit SMS alerts manually lead to constant financial disputes.

Target Users & Stakeholders

Building managers, residential board treasurers, and property owners seeking a bulletproof, private accounting system on their Android phone.

Architectural Goals

Handle mathematical expense distributions with absolute precision (per-capita, square-meter, parking, or custom weights).
Guarantee 100% data sovereignty by keeping financial records on-device using local-first Room database.
Produce elegant, print-ready Persian RTL PDF statements with embedded typography.
Provide seamless local LAN backup and sync without mandatory cloud database dependencies.

Core Capabilities & Mechanics

SPEC 01

Multi-Rule Accounting Engine

Dynamically calculates charges across occupied units, exempts manager units, incorporates base fees, and carries credit balances across fiscal periods.

SPEC 02

Granular Unit Profiling

Tracks occupancy status, resident headcount, exact floor area, deeded parking allocations, tenant contacts, and custom calculation multipliers.

SPEC 03

Comprehensive Financial Ledger

Logs payments, expense classifications (utilities, maintenance, elevator, security), reference numbers, and digital image receipts.

SPEC 04

Automated Bank SMS Parser

Intelligent regex and natural-language parser extracting Iranian banking SMS amounts (Rial/Toman) and matching them directly to outstanding bills.

SPEC 05

Embedded Vector PDF Generator

Generates high-resolution RTL Persian invoices and periodic audit sheets utilizing bundled custom typography.

SPEC 06

Local LAN Peer-to-Peer Sync

Direct device-to-device database sync over local Wi-Fi, completely eliminating mandatory cloud data leaks.

SPEC 07

Biometric Protection & Widgets

Secured with fingerprint/face authentication; accompanied by dynamic Glance home-screen glance widgets.

Technology Stack by Component

Android Architecture Suite
KotlinJetpack ComposeMaterial 3Room Database (SQLite)Kotlin Coroutines & FlowLocal P2P Wi-Fi SyncBiometric PromptGemini AI Engine

System Architecture Deep-Dive

Architected using modern Android Clean Architecture with MVI/MVVM: Jetpack Compose for declarative UI, Room SQLite with reactive Flows for data access, decoupled CalculationEngine domain modules, and zero third-party cloud analytics.

Technical Decisions & Trade-offs

Strict Local-First Philosophy

Prioritized on-device privacy: your financial data belongs exclusively to your hardware, with cloud and AI features remaining completely optional.

Decoupled Calculation Engine

Isolated all accounting math from the UI layer to allow exhaustive unit testing and absolute financial consistency.

Native RTL & Jalali Calendar Core

Persian typography, RTL layouts, and solar calendar mechanics are baked directly into the architectural core.

Repository Source Matrix

1 CONNECTED REPOS
Native Android App (Jetpack Compose)
Building-charging-management
GitHub