Note: The source code for this application is closed-source and maintained in a private repository to protect client intellectual property. This repository serves as an architectural case study demonstrating the interface design, state management, and business logic implemented.
- Architected a mobile billing and ledger management application for a commercial hardware and repair business.
- Replaced a manual paper-ledger system with an on-device digital solution, featuring instant invoice generation and historical payment tracking.
- Framework: React Native, Expo
- Document Generation: On-device PDF rendering (HTML-to-PDF)
- State Management: React Hooks / Context for dynamic cart calculations
- Native Integration: Native share sheet integration for WhatsApp invoice delivery
1. Dynamic Form State & Cart Calculation
- Engineered a dynamic "Generate Bill" interface where toggling service items (e.g., Winding, Bearing Set) conditionally renders nested input fields (Price, HP, Quantity).
- Implemented strict state management to recalculate the "Grand Total" in real-time as nested inputs are modified, preventing asynchronous calculation errors.
2. Ledger Reconciliation & Partial Payments
- Built a "Bill History" module that tracks Unpaid vs. Paid states.
- Developed a custom deduction algorithm via a BottomSheet modal, allowing the business to input partial payments (e.g., receiving โน500 on an โน800 bill) and automatically recalculating the remaining pending balance.
3. On-Device PDF Generation
- Designed a system that parses the current transaction state and injects it into a formatted HTML template.
- Compiled the template into a PDF directly on the mobile device and piped it to the native Android share menu for immediate delivery to the customer.
(Client proprietary data and branding have been redacted)