August 1, 2026

Proyek-Proyek Kegabutan.

Kumpulan project yang lahir dari gabut atau rasa gatal pribadi — dari bot Zuma, downloader manga, sampai to-do list sendiri karena OmniFocus berbayar.

Nggak semua project lahir dari brief klien atau rencana besar. Sebagian besar project pribadiku justru lahir dari dua hal: gabut, atau rasa gatal karena ada sesuatu yang menyebalkan dan aku pikir, “harusnya bisa dibikin sendiri, deh.”

Hasilnya kadang berguna, kadang cuma lucu. Tapi hampir selalu ada yang aku pelajari. Ini kumpulannya, urut dari yang paling lama.


Zuma Bot — Demi High Score (2023)

Alasannya jujur saja: aku ingin dapat high score di Zuma. Daripada latihan membidik berjam-jam, kenapa nggak bikin program yang main untukku?

Zuma Bot aku buat dengan C# (WinForms). Karena Zuma nggak punya API, bot-nya “melihat” layar:

  • Image detection — mencocokkan pixel/template di layar untuk membaca posisi bola.
  • Simulasi input — menggerakkan mouse dan klik secara otomatis untuk menembak.
  • Konfigurasi path game dan aset gambar supaya bisa menyesuaikan instalasi.

Dari sini aku pertama kali belajar dasar screen capture dan cara “mengendalikan” aplikasi lain dari luar.


Manga Downloader — Tanpa Klik Satu-Satu, Tanpa Iklan (2024)

Baca manga online itu enak, sampai kamu ingin menyimpannya. Pilihannya: save gambar satu per satu, sambil dihajar iklan di setiap halaman. Capek.

Jadi aku bikin Manga Downloader , tool command-line berbasis Node.js:

  • Download otomatis per chapter, dengan antrean (queue) untuk batch.
  • Folder rapi otomatis — gambar langsung tersusun per chapter.
  • Async I/O Node.js cocok untuk banyak download sekaligus.

Satu perintah, tinggal tunggu. Nggak ada iklan, nggak ada klik kanan berulang-ulang.


Manga Text Removal — Karena Hapus Teks Manual Itu Melelahkan (2025)

Untuk kebutuhan konten, aku sering perlu panel manga yang bersih dari teks. Menghapusnya manual di editor gambar, panel demi panel, itu melelahkan.

Manga Text Removal mengotomatiskan bagian itu dengan Python:

  • Deteksi teks pakai OCR (pytesseract).
  • Dua cara menghapus: timpa dengan putih (cepat dan bersih), atau inpainting OpenCV (lebih natural, merekonstruksi gambar di sekitarnya).
  • Batch processing untuk banyak gambar sekaligus.

Hasilnya belum sempurna — font manga yang “nyeni” kadang lolos dari OCR — tapi sudah memangkas pekerjaan paling membosankan.


Haystack Hunt — Gabut, Lihat Game Serupa di Steam (2026)

Yang ini murni gabut. Aku lihat ada game yang mirip di Steam, dan pikiran pertamaku: “Kayaknya aku bisa bikin sendiri.”

Haystack Hunt adalah versi harfiah dari “mencari jarum di tumpukan jerami”: cabut jerami satu per satu sampai jarumnya kelihatan. Dibuat dengan Three.js dalam satu file HTML, sebagai bagian dari seri One Day One Code .

Tantangan aslinya ternyata di performa:

  • Tumpukan bisa berisi sampai 100.000 helai jerami, jadi semuanya digambar lewat satu InstancedMesh.
  • Jerami di atas celah ikut jatuh mengisi ruang kosong.
  • Progres bisa disimpan cukup dengan seed RNG, bukan menyimpan posisi setiap helai.

Jangan Lupa Titik Koma — Terinspirasi WPU (2026)

Siapa yang belajar web dari YouTube pasti kenal Sandhika Galih dan channel WPU (Web Programming UNPAS), dengan tagline-nya yang ikonik: “jangan lupa titik koma”.

Dari situ muncul ide Jangan Lupa Titik Koma : di antara ribuan baris kode, tepat satu baris lupa titik koma. Tugasmu: temukan dan klik baris itu.

  • Pilih bahasa: JavaScript, PHP, Java, atau C.
  • Tingkat kesulitan berdasarkan jumlah baris: 100, 1.000, sampai 10.000 baris.
  • Tampilan meniru editor kode, lengkap dengan pesan error dan timer.

Rasa frustrasi yang semua developer pernah alami, dijadikan game.


Pitek — Galeri Media ala Eagle (2026)

Aku suka konsep Eagle untuk mengelola koleksi gambar dan referensi. Masalahnya: Eagle berbayar. Jadi, seperti biasa, aku bikin sendiri.

Pitek adalah aplikasi desktop dengan Electron, Svelte 5, dan TypeScript. Bedanya dengan Eagle, aku sengaja membuatnya tanpa database:

  • Setiap item disimpan sebagai file asli + thumbnail + JSON metadata, di folder yang bisa dibaca manusia langsung dari Finder.
  • Tag, folder, smart folder, filter warna/ukuran/rating, sampai deteksi duplikat.
  • Preview gambar, video, audio, dan editor teks bawaan.

Prinsipnya: kalau aplikasinya suatu hari hilang, datanya tetap utuh dan bisa dibaca.


Stackr — To-do List karena Sering Lupa (2026)

Agenda makin banyak, dan aku makin sering lupa. Jelas butuh to-do list yang serius. OmniFocus sebenarnya bagus — tapi berbayar. Jadi, lagi-lagi, bikin sendiri.

Stackr adalah task manager ala OmniFocus dengan Laravel + React/TypeScript dan SQLite:

  • Inbox, project, subtask, tag, Perspectives, mode Review, dan Forecast.
  • Quick add bahasa natural, misalnya Pay rent !high #home tomorrow.
  • Satu codebase jadi web app, PWA, dan aplikasi macOS (Electron + PHP statis yang dibundel, tanpa server).

Dari semua project kegabutan, ini yang paling “serius”.


Yang Aku Pelajari

  • Gabut itu produktif. Project tanpa tekanan justru paling bebas untuk mencoba hal baru: computer vision, WebGL, Electron.
  • Rasa gatal adalah spesifikasi terbaik. Karena aku sendiri penggunanya, aku tahu persis fitur apa yang penting.
  • “Berbayar” bisa jadi motivasi. Bukan soal pelit, tapi kesempatan untuk memahami cara kerja aplikasi yang biasa aku pakai.
  • Selesai lebih penting dari sempurna. Banyak dari project ini kecil, tapi selesai — dan itu yang bikin semangat bikin yang berikutnya.

Hey! I’m Fanny, the software engineer tending to this digital garden. You can read more about me, or subscribe by email.

Comments