JEJAKBAHARI.EXE
✕

JejakBahari

Open RoRo Vessel Tracking for Indonesia

JEJAKBAHARI.AIS
Category
Open-source project
Status
Open source / In development
Role
Creator / Developer
Year
2026

Overview

JejakBahari is a free, open-source web app for tracking Indonesian RoRo vessels — live position, status, and movement history built on AIS data. The platform combines a live map of whitelisted vessels with master data for operators, vessels, ports, and routes, plus geofence-based arrival and departure detection. It is designed to stay lightweight, cheap to run, and easy for a community to maintain.

Problem

Indonesian RoRo and maritime visibility depends on scattered public data sources for vessels, ports, and routes — AIS data can be delayed, missing, or wrong, and no free public tracker focuses on RoRo.

Solution

An open platform that joins live AIS positions with vessel, port, and route master data — a live map of whitelisted RoRo vessels with data-freshness indicators, geofence-based arrival/departure detection, and an admin panel for verification.

Responsibilities

  • Authored the documentation set — PRD, MVP scope, tech stack, architecture, sprint plan
  • Built the Laravel REST API — master data, position ingestion, whitelist, audit log
  • Built the Vue 3 frontend — MapLibre live map, search, vessel detail
  • Wrote the Node.js AIS worker — WebSocket client with Zod-validated payloads
  • Set up the PostGIS schema, geofence port events, and CI

Key Features

  • Live map of whitelisted RoRo vessels
  • Vessel and port search with data-freshness indicators
  • Limited position history and movement trail
  • Geofence-based arrival/departure detection
  • Admin panel for master data and verification
  • Explicit disclaimer — not a navigation or safety tool

Technology

  • Vue 3 + Vite + TypeScript
  • Tailwind CSS + Pinia
  • MapLibre GL JS
  • Laravel REST API + Reverb
  • Node.js AIS worker + Zod
  • PostgreSQL + PostGIS
  • Docker
  • Cloudflare Pages + VPS

Technical Decisions

  • Whitelist over full feed: Showing only verified RoRo vessels keeps the map honest and the scope maintainable.
  • Freshness as a feature: AIS data can be late or wrong — the UI surfaces data age instead of pretending precision.
  • Cheap and open: A lightweight Laravel + Vue + PostGIS stack on a single VPS keeps the project community-maintainable.

Impact

  • Designed as a reusable open maritime-data foundation for Indonesian RoRo visibility

Screenshots

  • Hero illustration from the JejakBahari frontend — layered panels representing stacked maritime data views.

Links