01 — Context
BRISPOT Konsumer was built to digitize the end-to-end mortgage (KPR) application process for Bank Rakyat Indonesia. It replaced traditional paper-based workflows with a structured digital pipeline, enabling bank staff to collect customer information, capture and upload KYC documents, and track mortgage application status — all from a mobile device.
02 — Role
Android Developer. Contributed to feature development, document handling workflows, and API integration across the application's production lifecycle. Worked closely with backend engineers, QA, and business analysts to deliver features aligned with banking operational requirements.
03 — Engineering
Architecture
- MVVM + Android SDK: Standard native Android architecture using ViewModel and LiveData for UI state management. Clear separation of UI from data fetching logic.
- Networking: Retrofit-based communication with core banking APIs, handling authentication, document upload, and application status queries.
Document Management
One of the more technically interesting aspects of Konsumer was the document capture and upload workflow. KYC compliance requires collecting multiple documents (ID cards, supporting documents, photographs) from customers on-site. This involves:
- Camera integration: In-app document capture with quality guidance.
- Image compression: Reducing file sizes before upload while maintaining legibility for compliance purposes.
- Reliable uploads: Handling upload retries and failure recovery on mobile networks without losing captured data.
04 — Engineering Challenges
Handling heavy document uploads over unreliable mobile connections.
Mortgage applications require significant documentation. Uploading multi-page, high-resolution documents on mobile networks in field conditions requires careful handling of upload failures, partial uploads, and retry logic — without requiring the bank officer to recapture documents.
Multi-step application state management.
A mortgage application is a long multi-step form with conditional branching (different document requirements for different product types). Maintaining consistent, non-contradictory state across steps — especially when users navigate back and forth — requires careful state design.
05 — Contributions
- Developed customer registration and onboarding features
- Implemented document capture, compression, and upload workflows
- Built application tracking and status display features
- Integrated Retrofit for API communication with the banking backend
- Collaborated with QA to ensure compliance with banking document standards
06 — Technologies
KOTLIN Primary language
ANDROID_SDK Native Android development
MVVM Presentation architecture
RETROFIT REST API networking
CAMERA_API Document capture