KKP — Fisheries Ministry Systems (2015–2017)
The Situation
From 2015 to 2017 I worked through a vendor/contractor company building web systems for Indonesia's Ministry of Marine Affairs and Fisheries (Kementerian Kelautan dan Perikanan, KKP) — spanning two different divisions' needs: a fishing-vessel registration system, and a national fisheries port information platform.
The Task
As a developer with the vendor company, I was responsible for contributing across both the vessel-registration and PIPP applications — server-side logic in CodeIgniter and Laravel, MySQL schema and queries, and the jQuery-driven frontends typical of that generation of government systems.
The Action
Sistem Pendaftaran Kapal — KAPI & Sipalka
KAPI was the ministry's original fishing-vessel registration system, tracking a vessel's paperwork (called a "Pendok") from intake through verification and issuance of its official vessel registration book (Buku Kapal Perikanan / BKP) — built on CodeIgniter with jQuery on the frontend.
Sipalka (internally labeled "PKP" in its own UI) was the next-generation replacement: the same registration workflow rebuilt on Laravel, with a much more detailed multi-stage monitoring view — tracking every application through scan/upload, disposition, data entry, multiple verification steps, and final book handover — against the same MySQL database KAPI used.

PIPP — Pusat Informasi Pelabuhan Perikanan
A separate division needed a system for managing Indonesia's fishing ports nationally — PIPP (Fisheries Port Information Center). This split into two applications, both built on Laravel with jQuery and MySQL:
- Internal dashboard — a large operations tool covering maps, fish catch data, fish marketing/pricing, non-tax revenue (PNBP), vessel data, labor, fuel distribution, port land, supplies, investment tracking, port operational status, and operator performance evaluation across every registered fishing port, plus a report/"book" generator for port visit reports.
- Public website — the public face of the same data: an interactive map of every fishing port in Indonesia, daily fish production and pricing, port activity news, and national fishing forecast maps, published for anyone to view.


The Result
These were some of the first large-scale production systems I worked on — real government workflows with real operational data (thousands of vessel registrations, 1,400+ ports tracked), built for divisions that depended on them daily. It was also an early, hands-on look at a legacy CodeIgniter → Laravel migration, a pattern I'd see repeated later in my career.