Available now

Crafting digital
experiences
that matter.

Software engineer based in Surabaya, Indonesia. I build practical web, desktop, and mobile applications that help businesses run smoother, without the over-engineering.

About me

I build things that actually work.

I’m a software engineer with 5 years of experience building practical web and desktop applications. Most of my work involves real-time dashboards , POS systems , IoT integrations , and mobile apps. I enjoy working in Agile teams and collaborating directly with clients to turn their needs into clean, working software that just gets the job done.
Skills & expertise

What I bring to the table.

Backend & API

PHP (Laravel), ASP.NET Core, REST API, OOP / MVC, Clean Architecture

Frontend & Mobile

JS, Next.JS, Flutter, Laravel Livewire, Laravel Inertia

Desktop

VB.NET, DevExpress Suite, Crystal Reports, SSRS

Database

SQL Server, MySQL, Stored Procedures

Tools

Git, SQL Server Profiler, Red Gate

Experience

Where I've been.

Dec 2018 — Present PT Genesys Integrated Indonesia · Surabaya

Staff Developer

Built a real-time monitoring dashboard on Laravel for POS transaction data via REST API. Developed an enterprise license control & auto-update system (Laravel + VB.NET + Bash), cutting manual intervention by 80%. Engineered modular POS & Sales Logistics desktop apps with Crystal Reports and SSRS reporting, plus PLC/RFID hardware integrations.

2024 — Present Freelance · Remote

Full-Stack Developer

Engineered backend systems with Laravel, developed Android applications, and translated provided Figma designs into fully functional WordPress themes. Ensured code quality and reliability through comprehensive testing prior to deployment.

Aug 2017 — Oct 2018 PT Argo Cipta Pratama · Cikarang

Application Engineer

Developed VB.NET UI for machine monitoring & control systems integrated with PLCs. Built an ANDON display application for Yamaha Motor factory floor operations.

2016 — 2018 Universitas Satya Negara Indonesia · West Jakarta

Management Informatics

GPA 3.24 / 4.0

Final Project

Automated employee assignment app for PT. Argo Cipta Pratama

Designed and built a system that automatically assigns employees to tasks based on track record and skill data — replacing manual scheduling at the company where I was working at the time. The engine was built in VB.NET, with a PHP-based display layer for management access.

VB.NET PHP Rule-based assignment engine Real-world deployment

🏆 Awarded best karya ilmiah by Faculty of Engineering, September 2018.

Featured projects

Work I'm proud of.

All projects →
Featured

High-Performance Retail & Logistics POS Ecosystem

Background Running a retail and logistics operation means transactions never stop. But the client’s existing setup was struggling to keep up: Solution Partnered with one other developer to build a desktop POS system from the ground up using a Service-Oriented Architecture. I helped separate the business logic into an ASP.NET Web API backend to ensure […]

Featured Desktop AppsWeb Apps

Enterprise License Orchestration & Automated Distribution System

Background As the company’s software products grew and reached more clients, a quiet but serious problem began to surface: Solution The answer was a Centralized License Management Hub — a system that could govern the entire software lifecycle from one place. Rather than patching the existing manual process, I designed it from scratch to be […]

Latest articles

Thoughts & learnings.

All articles →
Tak Berkategori
11 min read

Testing di Laravel — Unit, Feature, Integration, dan Mocking Service

Banyak developer yang baru pertama kali dengar soal testing langsung punya reaksi yang sama: “Nanti aja, yang penting fiturnya jalan dulu.” Dan memang, testing tidak membuat fitur jalan lebih cepat. Tapi suatu hari, kamu refactor satu bagian kecil dari kode — dan tiga fitur lain di tempat yang tidak ada hubungannya tiba-tiba rusak. Kalau ada […]

Tak Berkategori
10 min read

Event Listener vs Observer di Laravel — Kapan Pilih yang Mana, Plus Broadcast Real-Time

Kalau kamu pernah bingung mau taruh logika di mana — di Observer, di Event Listener, atau langsung di Model — kamu tidak sendirian. Ketiganya bisa menjalankan hal yang “mirip”. Tapi masing-masing punya tempat yang tepat, dan salah pilih bisa bikin kode yang susah dilacak. Artikel ini bahas tuntas perbedaannya, kapan pakai yang mana, dan bagaimana […]

Tak Berkategori
9 min read

Laravel Queue — Cara Kerja, Driver, dan Kapan Harus Dipakai

Pernah kamu klik tombol “Kirim Invoice” dan layarnya loading lama banget? Mungkin sampai 5-10 detik? Itu tanda ada pekerjaan berat yang sedang dikerjakan langsung di request yang sama — generate PDF, kirim email, mungkin sekaligus update beberapa tabel. User menunggu. Dan selama user menunggu, dia tidak bisa ngapa-ngapain. Laravel Queue hadir untuk memecah situasi itu. […]

Get in touch

Let's work together

Whether you have a project in mind or just want to say hello — my inbox is always open.

Location
East Java, Indonesia