Nusantara Mobile Banking
Mobile 2022

Nusantara Mobile Banking

Retail mobile banking app for a regional bank: onboarding with e-KYC, transfers, bill payments and QRIS, delivered with a core-banking integration layer.

Client

Bank Nusantara Sejahtera

Role

Business Analyst Lead

Year

2022

Duration

14 months

Stack

  • Flutter
  • Dart
  • Kotlin
  • Spring Boot
  • Oracle
  • ISO 8583

A regional bank with two hundred branches needed a mobile app that its customers would actually keep on their phones. The analysis team owned the requirements, the integration contracts and the UAT for the whole programme.

The brief

Launch a retail app with account opening, transfers, bill payments and QRIS within regulatory deadlines, on top of a core banking system that only spoke ISO 8583.

Key points

  • Requirement workshops with business, risk, compliance and IT.
  • BPMN process models and data mappings for every host transaction.
  • UAT playbooks executed by branch staff.
  • Go-live support in shifts for the first four weeks.

What we built

A Flutter app backed by a Spring Boot middleware that translated modern REST calls into host messages, with an e-KYC onboarding flow, device binding and a limits engine mapped to the bank’s risk policy.

Nusantara Mobile Banking
Illustration for “Nusantara Mobile Banking”

Example in code

<?php

namespace App\Models;

use App\Support\Enums\PostStatus;
use Illuminate\Database\Eloquent\Builder;

class Post extends Model
{
    public function scopePublished(Builder $query): Builder
    {
        return $query
            ->where('status', PostStatus::Published)
            ->where('published_at', '<=', now());
    }
}

Outcome

Two hundred thousand activations in the first six months and a defect rate at UAT that was the lowest the bank had recorded for a digital project.

Every integration with a core banking system has a story, and none of them are short.

Takeaways

The app was the visible part; the integration contract and the acceptance criteria were what made the launch calm.