BACK TO WORK

BRISPOT Konsumer

Role
Android Engineer
Year
2019—2020
Category
Professional
[KOTLIN][ANDROID_SDK][MVVM][RETROFIT]

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