4 poin oleh chlrhdmltkfkd 2026-04-02 | 3 komentar | Bagikan ke WhatsApp

Halo. Setiap kali melihat laptop retur yang membanjiri open market besar, saya merasa sangat lelah karena harus memeriksa spesifikasi sebenarnya secara akurat dan membandingkannya dengan harga terendah di Danawa.

Untuk mengatasi hal ini, saya mengembangkan 'Banpoom Laptop', yang mengintegrasikan dan memvisualisasikan informasi promo laptop dari berbagai platform e-commerce yang tersebar dengan basis data Danawa yang sangat besar menggunakan AI.

Link: https://banpoomlaptop.com

1. Tech stack yang digunakan

Saya membangun ulang seluruh arsitektur, mulai dari frontend hingga pipeline data.

  • Frontend: Next.js 16 (App Router), React 19, Tailwind CSS v4, Zustand

  • Backend / Database: Node.js, Next API Routes, MongoDB (Aggregation Pipeline), Redis

  • Crawling / Pipeline: Python (curl_cffi), Puppeteer, PM2 (daemon background)

  • AI / Data Matcher: OpenRouter API (Qwen 3.5), BM25 (algoritma pencarian kemiripan)

2. Poin tingkat kesulitan utama selama proses pengembangan

Dalam membangun proyek ini, saya menghadapi berbagai tantangan sulit pada tahap pengumpulan dan pemurnian data, melampaui sekadar pengembangan web biasa.

A. Normalisasi data tidak terstruktur dan cross-mapping antar platform heterogen

Hambatan terbesar adalah mencocokkan 'judul laptop retur di open market yang tidak seragam' dengan 'nama spesifikasi Danawa yang kompleks'. Karena cara penulisannya berbeda-beda di setiap vendor, pendekatan seperti DB Join biasa atau regex memiliki batasan yang jelas.
Untuk mengatasinya, saya membangun pipeline AI 2 langkah.

  1. Menggunakan algoritma kemiripan teks BM25 untuk terlebih dahulu mengekstrak kandidat model awal dari DB Danawa yang sangat besar.
  2. Kandidat hasil pencarian kemudian dikirim ke context window LLM (large language model) berbasis Qwen 3.5 agar dapat menafsirkan konteks dan menemukan model turunan unik (pcode) yang tepat. Lebih jauh lagi, pekerjaan untuk menstrukturkan spesifikasi teks panjang dari Danawa menjadi JSON secara real-time oleh LLM juga saya delegasikan ke background worker.

B. Penerapan logika inferensi algoritma ranking utama yang lebih canggih (Hidden Score)

Data open market pada dasarnya membuat 'tingkat diskon' tampak paling besar, tetapi masalahnya adalah banyak stok lama yang buruk.
Untuk mengatasinya, saya menanamkan sistem 'hidden score' yang menghitung skor = tingkat diskon + (angka performa / harga saat ini) - penalti usia model di dalam aggregation pipeline MongoDB. Ini tidak berhenti pada filtering berbasis kondisi saja; model sebelum 2022 diberi penalti -50 poin, sementara model terbaru tahun 2025~2026 diberi bobot +20 poin, sehingga hanya perangkat dengan value-for-money yang benar-benar bagus yang diprioritaskan tampil di shelf teratas.

3. Penutup

Frontend telah saya optimalkan agar puluhan filter multi-spesifikasi (panel, produsen, berat, TGP, dll.) bisa merespons secara instan dan mulus melalui integrasi parameter Zustand dan Next.js.
Pengalaman paling bermakna bagi saya sebagai engineer adalah mencoba mengadopsi LLM secara serius bukan sebagai chatbot biasa, melainkan sebagai 'parser normalisasi data tidak terstruktur' dan 'smart matcher' di dalam background pipeline. Saya menyambut diskusi maupun feedback dari siapa pun yang tertarik pada data crawling, AI matching, atau lingkungan pengembangan Next.

3 komentar

 
cnaa97 2026-04-02

Jadi pengin beli..

 
runableapp 2026-04-02

Bagus, ini situs yang praktis.
Menurut pendapat pribadi saya, desainnya sedikit terlalu mirip situs belanja dan warnanya terasa melelahkan mata.
Sepertinya algoritme saja sudah cukup, tetapi di bagian mana LLM memang benar-benar diperlukan?

 
kurthong 2026-04-02

Di perangkat mobile (Galaxy S25 Plus), tombol kirim percakapan dan tombol tutup (X) di jendela chat AI saling bertumpuk.