Personal
2026
Next.js, Hono, Prisma, PostgreSQL, Mapbox, Gemini

The Overview
Project context & goals
A maritime domain awareness platform for Indonesian waters that flags illegal fishing, AIS gaps, and zone violations from Global Fishing Watch data.
SIREN watches Indonesian waters using Global Fishing Watch data. Five detection rules, covering zone violations, AIS dark gaps, loitering in marine protected areas, suspicious vessel encounters, and behaviour mismatches, run over a moving time window, and each alert is routed to the agency responsible. Alerts stream to the browser in real time over Server-Sent Events and land on a Mapbox vessel map that moves from a heatmap to clusters to individual vessels as you zoom in.
An AI legal assistant answers questions grounded in Indonesian maritime law, citing articles through pasal.id and pgvector search, and every alert gets a plain-language explanation. Access is role-based and scoped per agency. It is a pnpm monorepo: Next.js 16 on the front, a Hono API with Prisma, and PostgreSQL with PostGIS and pgvector.
End of The Line
End of The Line
End of The Line
End of The Line
End of The Line
End of The Line
End of The Line
End of The Line
End of The Line
End of The Line
End of The Line
End of The Line
End of The Line
End of The Line
End of The Line
End of The Line
End of The Line
End of The Line
End of The Line
End of The Line