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.
- Flutter
- Dart
- Kotlin
- Spring Boot
Client
Bank Sumatera Sejahtera
Role
Business Analyst Lead
Year
2020
Duration
12 months
Stack
Every digital channel at the bank had its own way of talking to the host. Pilar put a single, monitored hub between them so that new channels could be added in weeks rather than quarters.
One integration layer for internet banking, mobile, ATM switching and partner APIs, with consistent limits, audit trails and a dashboard operations could read at three in the morning.
A Spring Boot hub translating REST and queue messages into ISO 8583 and host formats, a rules engine for limits and cut-off times, and an operations console with per-channel health.
<?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());
}
}
Four channels migrated without a single host change, and the end-of-day batch stopped being the thing everyone feared.
Documentation that nobody reads is still better than tribal knowledge that leaves with people.
The hub succeeded because the mappings were written down before the code; the code was the easy part.