Skip to content
Rafi Akmal Widikta

fullstack

LAPOR BANG MADE

Approval workflow for items visitors hand in at an immigration detention centre, with email and WhatsApp updates.

Role
Fullstack
Date
January 2026

Technologies

  • php
  • laravel
  • mysql
  • blade
  • vite
  • bootstrap
  • sass
  • jquery
  • datatables
  • twilio
  • mailgun

Problem

Handing items to someone inside a detention centre is a chain of custody, not a delivery. Before this, the process lived in notebooks and in conversation: what was brought, by whom, for which detainee, whether the food was allowed, and who signed it off. Without a record there is no accountability. And the visitor who travelled across the island has no way to learn whether their parcel was cleared, or why it was not.

Solution

A Laravel MVC app with two very different faces. Visitors get a public form with no login, where one submission can carry several items with photos. Staff get a queue, and the queue is the point: approval is a chain of roles rather than one decision. RAP reviews goods, Perkes reviews food, Kamtib validates and confirms the photo, and Duta Layanan sorts the item into the right category. Rejection is not a status you can change in a hurry: it requires a written reason of at least thirty characters, so “no” always arrives with an explanation attached.

The queues use server-side pagination, so a growing list never ships to the browser. Status is a single enum the visitor can read at a glance, and every change is announced by email and WhatsApp (which is what people here actually check). Phone numbers are normalised from the local 08… form to the international 628… one before sending, and values that should not sit in plain text go through the app’s AES-256-CBC helper.

Privacy shaped the design more than anything else: the people in this system are visitors and detainees, so the public side collects only what the process needs, and staff see only the stages they are responsible for.

Contact

Interested in working together?

Tell me what you are building and what you need. A short note is enough.

Back to top