I build information systems for schools, campuses, and public agencies in Malang, Indonesia.
Most of my work is unglamorous and specific: service portals, academic systems, and operational automation for institutions that still run much of their process on paper.
That brings constraints other projects rarely have. The staff who will maintain the system come from mixed technical backgrounds. Users arrive on inexpensive Android phones over patchy connections. Procurement moves slowly, so the stack has to stay boring and stay supported for years. Accessibility stops being optional when the audience includes parents of every age.
I like this work because the result is measurable. A letter request that used to take three days now takes an hour.
Mostly client systems in daily use by the institutions that own them, plus a product of my own.
| Project | What it does | Stack |
|---|---|---|
| Gerbang Semar | Unified service portal for MAN 1 Kota Malang: 19+ services behind one entrance, with inclusive accessibility controls | Laravel, Vite, Tailwind |
| APARAT | Digital correspondence system with online submission, admin disposition, and public tracking without login | Laravel, Vite, Tailwind |
| SIAKAD | Academic information system with three role levels, student records, course registration and transcripts, and PDF export | React, React Router, Bootstrap |
| BantuanMU | My own product: subscription SaaS for Indonesian small businesses, with point of sale, inventory, queueing, and booking from Rp 25,000 a month | Astro, Tailwind |
| Madu Kencono | Sales and finance automation: orders, Duitku payments, stock, WhatsApp notifications, six user roles | Fastify, Prisma, React, MySQL, Redis |
| OneID Express | Logistics platform for remote islands around Madura, with real-time tracking and rate lookup | Next.js, MySQL, Cloudflare |
More at zenbgs.github.io/projects
Everything below appears in a project you can open from the table above.
Working knowledge: Kubernetes, AWS, GCP, Python, PostgreSQL, MongoDB
I write about the parts of building systems that documentation tends to skip.
- Reliable Payment Webhooks covers why the redirect page is not proof of payment, and what idempotency actually buys you
- Sending WhatsApp Notifications from a Business Application covers choosing a gateway, normalising numbers, and not becoming spam
- Auditing Legacy Code Before Deciding on a Rewrite covers turning "this code is a mess" into evidence someone can budget against
Every post is available in English and Bahasa Indonesia.
Open to work on institutional and internal systems.
If you run a school, a campus, or an agency and something still moves on paper, I would like to hear about it.



