Halo semuanya, kembali lagi bersama saya di sini. Pada kesempatan kali ini, saya ingin berbagi cerita sekaligus pengalaman pribadi saat mengembangkan sebuah aplikasi yang awalnya terlihat sederhana, tapi ternyata memberikan banyak pelajaran baru buat saya.
Ceritanya berawal ketika tim meminta penambahan fungsi pada bot Infak (Informasi Aktivasi) Telegram. Aplikasi bot ini sepenuhnya dibangun menggunakan Python, dan untuk kebutuhan generate laporan menggunakan asciidoctor-pdf. Secara fungsi sebenarnya sudah berjalan dengan baik, sampai akhirnya muncul satu keluhan yang cukup menggelitik bukan dari tim, tapi justru dari atasan saya sendiri (wkwkwk, gomen mas 😅).
Keluhannya terdengar sepele, tapi dampaknya cukup besar: proses input data infak harus dilakukan satu per satu, tidak bisa sekaligus. Buat penggunaan harian yang datanya cukup banyak, jelas ini terasa sangat tidak efisien dan memakan waktu.
Dari situ, sambil tetap mengerjakan penambahan fitur di bot Telegram, saya mulai kepikiran untuk membuat aplikasi infak berbasis web. Tujuannya simpel: memudahkan input data agar bisa dilakukan sekaligus dan lebih cepat. Masalahnya, saya benar-benar nol pengalaman di dunia frontend. Tidak paham framework, tidak ngerti styling, apalagi JavaScript modern.
Akhirnya saya ambil jalan paling aman: pakai HTML biasa. Tidak ada framework, tidak ada CSS aneh-aneh, hanya halaman HTML polos dengan beberapa field input. Data dari user saya ambil menggunakan metode POST, lalu langsung saya lempar ke fungsi Python untuk diproses dan digenerate. Dari sisi keamanan pun relatif aman karena tidak ada banyak komponen kompleks.
Beberapa hari saya habiskan untuk menyelesaikan semua fungsinya. Secara logic dan proses sudah jalan, tapi kalau bicara tampilan… jujur saja, masih jelek 😄. Hanya halaman HTML kosong dengan field input seadanya, yang penting bisa dipakai.
Suatu hari, seorang rekan menyarankan,
“Coba pakai AI Lovable buat frontend-nya.”
Kebetulan saat itu Lovable sedang memberikan gratis 2 bulan, dan menurut saya ini kesempatan bagus buat eksperimen, apalagi untuk project kecil-kecilan seperti ini. Malam itu juga saya langsung coba-coba. Tidak disangka, hasilnya cukup mengejutkan. Frontend langsung jadi dengan tampilan yang jauh lebih rapi dan modern.
Frontend tersebut menggunakan React dan TypeScript, sementara backend tetap saya pertahankan menggunakan Flask dan Python. Dari proses ini, tanpa sadar saya mulai belajar sedikit demi sedikit tentang konsep frontend component, state, hingga bagaimana frontend berkomunikasi dengan backend.
Namun, setelah frontend terlihat “jadi”, muncul satu pertanyaan besar yang sempat bikin saya mikir cukup lama:
Gimana cara menghubungkan frontend ini ke backend Python yang sudah saya buat?
Akhirnya saya diskusi dengan teman-teman yang memang sudah terbiasa dengan frontend. Dari mereka, saya dapat penjelasan bahwa secara umum ada dua pendekatan: menggunakan WebSocket atau API. Karena kebutuhan saya cukup sederhana dan ingin cepat selesai, mereka menyarankan untuk menggunakan API saja.
Dengan bantuan AI (sat set sat set 😄), perlahan backend API saya rapikan, endpoint saya sesuaikan, dan akhirnya frontend bisa berkomunikasi dengan backend dengan lancar. Dari sini saya mulai paham bagaimana alur request–response antara frontend dan backend bekerja.


Setelah itu, saya menambahkan fitur login. Karena malas dan tidak ingin ribet setup database dari nol, saya memutuskan untuk memanfaatkan LDAP yang sudah ada. User diambil dari email internal Excellent, menggunakan bind LDAP, domain, dan base account. Proses integrasinya relatif lancar, dan akhirnya fitur login pun bisa digunakan.
Tentu saja, tidak semua berjalan mulus. Di hari Senin, setelah aplikasi mulai dideploy, muncul beberapa issue seperti history sertifikat yang tidak tampil, masalah HTTPS, dan beberapa error kecil lainnya. Cukup bikin pusing, tapi justru di situlah proses belajar yang sebenarnya terjadi. Pelan-pelan, satu per satu masalah bisa saya pahami dan atasi.
Setelah melewati banyak pemikiran, trial-error, dan debugging, akhirnya aplikasi ini berhasil dideploy dan bisa digunakan dengan baik. Dari pengalaman ini, saya belajar cukup banyak terutama tentang frontend, meskipun hanya sebatas kebutuhan project ini saja.
Bisa dibilang, ini benar-benar pengalaman learning by doing buat saya. Mulai dari tidak tahu apa-apa soal frontend, sampai akhirnya bisa membangun aplikasi web yang terhubung dengan backend dan authentication.
Ya sudah, segitu dulu cerita kali ini. Semoga pengalaman ini bisa jadi pembelajaran atau inspirasi buat yang sedang atau ingin mencoba hal baru.
Sampai jumpa di tulisan selanjutnya 😄