RianTosm
All projects

Full Stack · 2023

Dapen PKT

An official Android app for PKT Group's pension fund participants to check their balance, review transaction history, and get announcements — all in one place.

dapen-pkt.tosm.my.id

Overview

What it is, and why it exists

Dapen PKT is a mobile app I built end to end for PKT Group's pension fund (Dana Pensiun), giving employees a self-service way to check their pension balance, review transaction history, read announcements, and manage their participant profile from an Android app.

My Role

Full stack developer — REST API and React Native mobile app, covering participant auth, balance/transaction data, and announcements.

Problem

The problem

PKT Group's pension fund participants had no self-service way to check their balance, review contribution history, or receive announcements — everything ran through manual, offline channels.

Solution

The solution

I built an Android app backed by a REST API so participants can log in with their NIK/NPK, see their current pension balance and contribution history, read announcements, and manage their own profile without going through the fund administrator directly.

Key Features

What it does

  • Pension balance overview, updated as of the latest cut-off date
  • Transaction history for pension fund contributions
  • Announcements and news feed for participants
  • Participant profile and membership data management
  • NIK/NPK + password login with a separate admin sign-in path

Tech Stack

Built with

Technology choices made to fit the product's real constraints, not novelty.

React NativeTypeScriptExpress.jsMongoDBJWT
Architecture

System architecture

React Native (Android)
REST API (Express.js)
Mongoose / MongoDB
JWT Auth Middleware

Challenges

Challenges & solutions

Separating participant and admin access in one login flow

The same app needed a participant-facing balance/announcement view and a separate admin sign-in path for staff, without the two roles' data or permissions leaking into each other. Auth is scoped by role at the API level, so the mobile client only ever renders the screens its token is authorized to see.

Gallery

A closer look

Balance dashboard

Participant login

Result

Outcome

  • Ships as an official Android app participants install to self-serve their pension balance and history
  • Announcements reach all participants directly in the app instead of relying on offline or manual notices