Unmurce App Logo
Unmurce Expense Tracker Version BETA 1.5.6

Private finances, clear insights, bold design.

Unmurce is a high-speed personal finance ecosystem built for ultimate speed, privacy, and tangible control. Equipped with automated multi-model receipt OCR (Groq Vision & Gemini 3.6 Flash), strict Firebase data isolation, and a high-contrast Neo-Brutalist interface.

⚡
< 1.2s OCR Vision Latency
🔒
100% Isolated Per-User Sandboxed
📱
Offline-First Local SQLite Cache
📊
Client-Side PDF Zero Data Leaks
Unmurce - Dashboard
Unmurce Expense Dashboard Screenshot
Add Expense
Unmurce Add Expense Screen Screenshot
LIVE MULTI-MODEL OCR TELEMETRY ACTIVE RUNTIME CONFIG
GROQ_MODEL / VISION OCR Loading... Primary model for sub-second receipt extraction
NOTIFICATION & SMS ENGINE Loading... Contextual parser for bank SMS alerts
FAILOVER & RESILIENCE Azure Doc AI + Gemini 3.6 Flash Automated zero-downtime fallback pipeline

01 / ARCHITECTURE & CORE CAPABILITIES

Engineered for Privacy & Instant Action

No third-party trackers, no invasive analytics. Just clean personal financial management.

AI INFERENCE

Multi-Model Receipt OCR

Take a photo of any printed purchase receipt. The serverless backend leverages Azure Document Intelligence and Gemini 3.6 Flash / Groq LLMs to extract itemized lists, normalize IDR amounts, and split tax & service charges proportionally across items.

Gemini 3.6 Flash Groq Vision Azure OCR NDJSON Stream
SECURITY & AUTH

Per-User Data Isolation

All database queries and sync operations are strictly authenticated with Firebase Bearer ID Tokens. MongoDB Atlas collections enforce per-user indexing (`ownerId`) to guarantee that financial data remains strictly private and sandboxed.

Firebase Token Auth MongoDB Atlas Bearer Verification Encrypted Transport
MOBILE & ENGINE

Native Android & Notification Hooks

Shipped as an optimized Flutter release APK with native Kotlin bridges. Supports bank SMS and local transaction notification parsing to automatically log expenses without manual keyboard entry.

Flutter Kotlin Local Notification Offline SQLite
REPORTING & EXPORT

Audit & PDF Report Generation

Filter expenses by date range, category, or transaction type (Expected vs. Unexpected). Generate downloadable client-side PDF statements instantly via jsPDF without sending data to external render engines.

Client-Side PDF Category Breakdown IDR Formatting Realtime Calculations

02 / LIVE SIMULATOR & INTERACTION

Multi-Model Receipt OCR Playground

Experience the automated receipt parser right in your browser. Choose a preset or trigger a simulated scan to watch line items, taxes, and service fees get allocated instantly.

KOPI KENANGAN

Senayan City Mall, Lt. LG
2026-10-02 14:32 WIB • TR#88921
SUBTOTAL: Rp 52.000
PB1 TAX (10%): Rp 5.200
SERVICE CHG: Rp 0
TOTAL DUE: Rp 57.200
||| | ||||| || |||||| | |||| |||| |||||
AUTHENTIC THERMAL SLIP
GROQ LLAMA-3.2-VISION ⚡ 840ms Latency Parsed OK
💡
Zero-Loss Tax Allocation: Overhead (Rp 5.200) was split proportionally between items based on base price weights.


                    
                    
Total Extracted Items Rp 57.200
Test In Live Web App ↗

03 / TECHNICAL SPECIFICATIONS

Full-Stack Resilience & Zero-Leak Security

How data travels from local camera shutters to authenticated encrypted persistent storage.

📱
CLIENT TIER

Flutter 3.x & Kotlin Bridges

Built with Dart and Material 3 customized with Neo-Brutalist design tokens. Offline transactions are written directly to SQLite and synced when a data connection is established.

Flutter 3.x Kotlin Native SQLite Local Riverpod State
🛡️
EDGE GATEWAY

Serverless & Firebase Token Auth

ExpressJS routing hosted on Vercel Serverless. Every transaction mutate endpoint is guarded by Firebase Admin Bearer ID verification. Zero unauthenticated endpoints.

Vercel Edge Firebase Admin Bearer Auth CORS Sandboxing
⚡
AI OCR PIPELINE

Dual-Model Vision OCR

Primary high-speed parsing through Groq Vision (Llama 3.2 Vision 11B) with automatic failover to Google Gemini 3.6 Flash and Azure Document Intelligence.

Groq Vision Gemini 3.6 Flash Azure Doc AI Auto Failover
🔒
STORAGE TIER

MongoDB Atlas Isolation

Collections enforce strict compound indexing on ownerId and transactionDate. Cross-account data leaks are architecturally impossible.

MongoDB Atlas Strict Compound Index TLS 1.3 Transport Zero Telemetry

05 / MATHEMATICAL PRECISION

Zero-Loss Proportional Tax & Service Engine

Test how Unmurce distributes taxes (e.g. 11% PPN) and service charges across itemized entries without leaving orphan fractional cents.

Simulate Overhead Distribution

Formula: AllocatedOverhead = ItemBase + Round(TotalOverhead * (ItemBase / Subtotal))
LIVE BREAKDOWN
Items Subtotal: Rp 130.000
Tax & Service Overhead: Rp 20.800
Item 1 Final Record: Rp 52.200
Item 2 Final Record: Rp 98.600
Database Sum: Rp 150.800

06 / FREQUENTLY ASKED QUESTIONS

Developer & User Insights

Clear answers regarding security, offline syncing, and Android deployment.

Uploaded receipt images are processed entirely in memory via secure serverless functions. Images are converted into temporary memory buffers, passed to the vision inference API through encrypted TLS channels, and never stored on public buckets or sold to third-party data aggregators.
Yes! The Flutter client features a local SQLite persistent store. You can record transactions, categorize expenses, and review monthly totals without any network connection. As soon as you re-connect, changes sync seamlessly to MongoDB Atlas.
By default, receipts are routed to Groq's high-speed Vision model for sub-second inference. If the upstream provider experiences rate-limiting or latency spikes exceeding 3000ms, the system automatically redirects the payload to Google Gemini 3.6 Flash without interrupting the user.
Simply tap the "Download APK (Android)" button below. Once downloaded on your Android device (arm64-v8a architecture), allow installation from browser sources in your system settings and open the package to start using Unmurce immediately.
UNMURCE_DEVELOPER_CONSOLE.sh
BASH
git clone https://github.com/DODODABIRD/Expense_App_Personal.git
curl -s https://dododabird.us/api/public-config | jq
flutter run -d chrome --web-port 8080

07 / GET UNMURCE

Ready to track your expenses with clarity?

Choose how you want to experience Unmurce — open the web application directly in your browser or install the native Android APK.

Command copied to clipboard! ✓