Writing
Postmortems, architecture decisions, dan opini soal backend & production systems. No fluff, no "in this article we will explore" — real stories from real systems.
GPS + QR attendance: dua mekanisme yang saling menambal, bukan over-engineering
GPS saja bisa di-spoof. QR saja bisa difoto dan dishare. Digabung, keduanya menutup celah masing-masing. Ini alasan desainnya di School HRIS.
Postmortem: try/catch middleware yang tidak menangkap apa-apa di Hono
Aku pasang error middleware di Hono v4 dan merasa aman. Ternyata route error melewatinya sepenuhnya. Penyebabnya ada di cara Hono compose dispatch.
34 modul dalam satu monolith: pelajaran dari nwidart/laravel-modules
ERP 34 modul dan School HRIS 9 package group jalan dalam satu Laravel app. Begini cara nwidart-style modules bikin itu tidak jadi spaghetti.
Microservices bukan jawaban untuk tim kecil: bukti dari 34 + 130 modul monolith
Dua project terbesar yang aku pegang — 34 modul dan 130+ modul — jalan sebagai monolith. Modular iya, microservices tidak. Ini alasannya.
pgvector untuk RAG: kenapa aku tidak pakai vector database terpisah
AI WhatsApp bot pakai pgvector di PostgreSQL, bukan Pinecone. Satu database, zero vendor baru, dan performanya cukup di scale-ku.
Participant polymorphic: satu workflow, banyak tipe peserta
Scheduling dan attendance di School HRIS butuh peserta yang bukan cuma student. Solusinya: participant polymorphic, entity tetap terpisah.