1 poin oleh GN⁺ 8 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • Proyek pribadi yang sudah lama terbengkalai lebih berfokus pada menyelesaikan implementasi daripada mempelajari hal baru, sehingga sangat cocok untuk mencoba alat bantu coding
  • Sebuah shim yang mengekspos YouTube Music melalui OpenSubsonic API diimplementasikan ulang agar berbagai klien Subsonic yang berbeda bisa terhubung dengan cara yang sama
  • Setelah lebih dulu menetapkan struktur minimum dan konvensi implementasi, pekerjaan dijalankan dalam siklus iterasi singkat sambil sekaligus membuat stub berbasis spesifikasi OpenAPI dan menguji koneksi klien nyata
  • Implementasi awal yang hanya menyesuaikan spesifikasi langsung gagal saat koneksi nyata, lalu ditingkatkan hingga pencarian dan pemutaran berfungsi dengan mengulang pemeriksaan log permintaan dan penambahan unit test
  • Jika ini bukan proyek stretch untuk belajar melainkan proyek yang memang ingin dimiliki, alat bantu coding sangat membantu mengubah pekerjaan yang tertunda menjadi layanan yang benar-benar bisa dipakai

Latar belakang proyek dan pendekatan

  • Proyek pribadi yang pernah disentuh lama lalu tetapi tidak pernah selesai sangat cocok untuk menguji alat bantu coding AI
    • Yang dihidupkan kembali adalah shim yang menghubungkan YouTube Music dan OpenSubsonic API
    • OpenSubsonic digunakan sebagai kontrak API yang memungkinkan pemisahan klien dan server untuk streaming musik
    • Server yang digunakan adalah Navidrome, klien desktop Feishin, dan Android Symfonium
  • Shim tersebut mengekspos YouTube Music agar sesuai dengan OpenSubsonic API sehingga bisa dihubungkan dari klien mana pun
    • Untuk pengambilan metadata digunakan ytmusicapi, dan untuk streaming yt-dlp dipanggil secara terprogram
    • Streaming dasar relatif mudah dihubungkan, tetapi pekerjaan ekor panjang untuk mengimplementasikan semua endpoint sesuai spesifikasi masih tersisa
  • Karena proyek ini lebih berpusat pada implementasi spesifikasi yang jelas daripada masalah yang baru atau orisinal, proyek ini sangat cocok dipasangkan dengan alat bantu coding
    • Eksperimen dilakukan dengan mengimplementasikannya ulang dari nol menggunakan Claude Code dan Opus 4.6

Pengaturan awal

  • Titik awalnya adalah proyek minimal dengan struktur yang dibatasi lebih dulu
    • Membuat proyek uv dan menambahkan fastapi, pydantic, ytmusicapi, yt-dlp sebagai dependensi
    • main.py diubah menjadi file utama contoh FastAPI dan spesifikasi OpenAPI OpenSubsonic dimasukkan ke dalam folder
    • Di README dituliskan singkat peran server, pustaka yang digunakan, URL dokumentasi, dan lokasi openapi.json
    • Menambahkan file TODO kosong dan membuat CLAUDE.md dengan /init
  • Di CLAUDE.md, konvensi implementasi ditulis terpisah untuk mengurangi instruksi berulang
    • Mengharuskan anotasi tipe dan docstring pada argumen metode serta nilai kembalian
    • Pemodelan data disesuaikan dengan konvensi Pydantic V2
    • Docstring diminta menggunakan gaya Google dengan bagian args dan returns
    • Pengujian disesuaikan dengan gaya pytest modern yang memakai fungsi level atas, assert, dan fixture
  • Titik awal ini dibungkus sebagai git repository

Alur implementasi MVP

  • Cara kerjanya dijalankan dengan mode perencanaan dan siklus iterasi singkat
    • Tugas berikutnya diberikan sebagai prompt lalu dicek apa yang terlewat atau bermasalah dari rencana awal
    • Jika melenceng, tautan sumber daya terkait diberikan tambahan, atau jika ada beberapa pilihan maka alat pencarian dipakai agar menemukan cara yang lebih idiomatis
    • Setelah pekerjaan selesai, "Accept and clear context" digunakan untuk mengosongkan konteks lalu mengulang lagi
  • Implementasi pertama berfokus pada pembuatan stub hanya untuk endpoint JSON baru dari spesifikasi OpenAPI
    • Endpoint XML lama dan endpoint JSON baru sama-sama ada, tetapi cakupannya dipersempit agar hanya menangani yang baru
    • Setelah implementasi, ditambahkan tahap validasi untuk mengecek ulang apakah semua metode sudah sesuai
    • Meski ada spesifikasi, percobaan pertama tetap menghasilkan kesalahan, dan sebagian besar tertangkap pada pengecekan kedua
  • Setelah perubahan besar, /init dijalankan lagi untuk memperbarui CLAUDE.md agar sesuai dengan keadaan terbaru
  • Langkah berikutnya adalah mendefinisikan dan menghubungkan fitur minimum untuk pencarian dan streaming
    • Targetnya adalah fungsi minimum agar klien Subsonic bisa terhubung, mencari lagu, dan memutarnya
    • Pencarian menggunakan ytmusicapi, dan streaming menggunakan yt-dlp

Masalah yang muncul saat koneksi nyata dan penyesuaiannya

  • Implementasi yang sekilas tampak meyakinkan muncul dengan cepat, tetapi saat benar-benar dihubungkan ke Feishin langsung runtuh
    • Klien diuji langsung dan log permintaan server diberikan ke Claude Code sambil terus melakukan perbaikan berulang
    • Ada juga perbedaan detail yang tidak terlihat hanya dari spesifikasi, misalnya sufiks .view pada endpoint harus dihapus
  • Setiap kali terjadi error, unit test baru dibuat untuk mencegah regresi
  • Bahkan tanpa banyak iterasi, audio benar-benar mulai diputar di Feishin
    • Masalah utamanya adalah endpoint stub tidak mengembalikan apa pun
    • Sebagian besar endpoint harus diubah agar tetap mengembalikan respons dengan struktur yang benar, meski isinya kosong
  • Namun MVP pada tingkat ini tidak jauh berbeda dari POC lama, dan kegunaan nyata masih bergantung pada pekerjaan ekor panjang setelahnya

Pekerjaan ekor panjang dan perluasan fitur penuh

  • Berdasarkan dokumentasi OpenSubsonic, API memiliki sekitar 80 endpoint yang tersebar di 15 kategori
  • Cakupan yang dibutuhkan untuk MVP relatif kecil
    • getLicense, getUser, getGenres, getMusicDirectories mengembalikan koleksi yang kosong tetapi valid
    • getSong ditangani sebagai pass-through yang mengembalikan ID dari parameter kueri apa adanya dan mengisi nilai default
    • search3 diimplementasikan dengan pemanggilan ytmusicapi yang sederhana
    • stream mengekstrak URL format "bestaudio" dari pemanggilan yt-dlp yang dibungkus dengan asyncio.to_thread
    • getCoverArt mengambil URL gambar sampul dengan yt-dlp
  • Untuk mendukung seluruh fitur klien Subsonic masih dibutuhkan pekerjaan tambahan
    • Pemanggilan ytmusicapi diberi cache memori sederhana untuk menghindari batas penggunaan
    • sqlite digunakan untuk menyimpan metadata musik dan semua endpoint dalam kategori browsing diimplementasikan
    • getTopSongs juga ditangani dengan mengkueri daftar top songs
  • Saat streaming, lagu disimpan ke disk agar tidak perlu diunduh ulang
    • Jika klien memutus koneksi ke endpoint stream sebelum unduhan selesai, diperlukan penanganan tambahan untuk membersihkan file yang belum selesai
  • Pekerjaan seperti ini sebenarnya bisa saja dilakukan manual, tetapi bagian itulah yang pada akhirnya tak pernah dikerjakan, dan karena tidak ada rencana deployment, bagian sulit seperti autentikasi tetap dilewati
  • Hasil akhirnya, dalam waktu singkat pada malam hari, berhasil dibuat layanan yang berfungsi yang bisa dihubungkan oleh klien Subsonic, dan proyek itu diberi nama Sub-standard

Cocok dipakai untuk apa

  • Alih-alih memaksakan alat bantu coding untuk semua hal, kekhawatiran tentang penurunan kemampuan akibat ketergantungan juga tetap dipertahankan
  • Proyek pribadi secara besar terbagi menjadi dua jenis
    • Proyek stretch untuk belajar dan berkembang
    • Proyek yang memang terasa seharusnya ada
  • Proyek kali ini termasuk jenis kedua, dan alat bantu coding sangat cocok untuk mewujudkan keinginan yang selama ini tidak pernah sempat diselesaikan
    • Proyek yang tadinya tidak akan pernah sempat disentuh kini benar-benar jadi dimiliki, rasanya mirip seperti mengurangi satu tumpukan buku yang belum sempat dibaca
  • Kriteria pentingnya bukan apakah mengerjakan proyek jenis kedua, melainkan apakah proyek belajar dari jenis pertama juga terus dikerjakan bersama-sama

1 komentar

 
GN⁺ 8 jam lalu
Komentar Hacker News
  • Proyek yang paling sering saya telantarkan adalah video game
    Saya punya puluhan folder proyek yang berhenti di tengah jalan, dan sekarang saya mulai menerimanya kembali sebagai eksperimen
    Minggu lalu saya menghidupkan lagi salah satunya dengan Claude, dan hasilnya sangat cocok, bahkan langsung membantu meluruskan arahnya
    Karena sejak awal sudah saya bilang bahwa ini proyek yang pernah saya tinggalkan, dia mendorong saya untuk menyelesaikan dulu loop gameplay V0, lalu mencari keseruannya dari sana dan memperluasnya, jadi saya tidak menyerah lagi
    Saya memberi ide desain game, lalu dia memberikan kode yang berjalan; saya memberi makalah algoritme procedural, lalu dia sampai membuat implementasinya; dia juga membantu brainstorming item, membuat aset grafis, bahkan membangun lore
    Kombinasi Claude Code + Godot benar-benar menyenangkan, dan sudah lama sekali rasanya saya tidak menikmati memakai komputer seperti ini

    • Ini pertama kalinya saya melihat ada yang menyebut LLM sebagai he, bukan it
      Bukan mau mengecam, tapi cukup menarik sekaligus agak bikin tidak nyaman
    • Saya justru kebalikannya
      Saya punya puluhan folder eksperimen, dan banyak di antaranya sekarang mulai berubah jadi proyek sungguhan
    • Hal yang belakangan ini menyenangkan adalah mengambil lagi proyek yang saya mulai beberapa bulan atau setahun lalu dengan agent driven development, lalu macet dan berhenti, kemudian mendorongnya lebih jauh dengan Claude atau codex versi terbaru
      Sekarang ada yang benar-benar bisa jalan, walau masih ada juga yang terlalu rumit untuk ditangani agen
      Tetap saja, membuat aplikasi pribadi makin lama makin mudah
      Sepertinya tidak lama lagi kita akan sampai di tahap bisa bilang, “Alexa, tolong buatkan aplikasi iPhone yang memotret isi kulkas, mengumpulkan info nutrisi, menyinkronkannya dengan aplikasi olahraga, membandingkannya dengan bahan yang sesuai target di aplikasi kesehatan, lalu mengirim email rekomendasi bahan yang lebih baik sesuai anggaran, wilayah, dan batasan diet,” dan dalam 15 menit aplikasinya jadi
    • Godot tampaknya bukan alat yang dirancang agar cocok dengan LLM
      Misalnya, beberapa kali keluar file tres yang salah, dan membiarkan LLM membuat ID juga terasa cukup tidak stabil
    • Di sisi procedural, saya juga sedang bereksperimen memasukkan LLM sebagai bagian dari procedural loop
      Semacam menaruh narasi live di atasnya
      Model lokal masih lambat dan lemah, tapi tetap menarik melihat hasil seperti apa yang keluar
  • Luar biasa sekali
    Sekarang jumlah perangkat lunak pribadi benar-benar meledak
    Kemarin saya membuat editor teks native yang terintegrasi penuh dengan MediaWiki, lengkap dengan pelengkapan otomatis tautan dan bantuan input sintaks
    Perangkat lunak seperti ini hampir tidak punya nilai bagi orang lain, jadi tidak ada alasan selain saya sendiri untuk membuatnya, dan dulu saya juga tidak sempat karena terlalu lama dikerjakan
    Tapi kalau agen yang mengerjakan coding-nya, bottleneck-nya bukan lagi implementasi melainkan perhatian saya sendiri, dan ternyata cocok sekali untuk mengisi slot kosong di kepala saya dengan tugas-tugas pribadi seperti ini
    Rasanya ini benar-benar masa yang bagus

    • Beberapa minggu lalu saya akhirnya menyelesaikan mod Quake 2 yang saya mulai pada 1998
      Berkat AI, saya bisa melewati burnout pasca-COVID dan tumpukan proyek setengah jadi
      Hari ini saya juga membetulkan tool RDP terkait terminal, dan kembali mengerjakan issue yang saya buka di OpenRA 10 tahun lalu
      Engine-nya sekarang 10 kali lebih cepat, dan pathfinding-nya juga sebagian besar akhirnya bekerja dengan benar
    • Benar-benar luar biasa
      Saya punya sekitar 120 tool pribadi, dan benar sekali bahwa bottleneck-nya berpindah dari implementasi ke context switching
      Jadi sekarang saya menaruh file markdown di setiap root proyek, lalu setiap kali berhenti saya tulis status dan langkah berikutnya
      Dengan begitu, saat kembali saya tidak perlu membayar biaya 20 menit untuk memulihkan “saya tadi sampai mana?”
      Toh tidak ada orang lain yang akan memakainya, jadi tidak ada tekanan untuk menangani edge case atau membuat dokumentasi; cukup selesaikan masalah saya dengan tepat lalu lanjut ke hal berikutnya
    • Saya penasaran berapa lama orang hidup tanpa AI
      Melihat ledakan produktivitas yang kita rasakan sekarang, rasanya menumpuk begitu banyak kebutuhan kecil juga pasti butuh waktu yang tidak sedikit
    • Saya juga membuat aplikasi untuk merencanakan Scavenger Hunt saat Paskah
      Lucu sekali kalau dipikir betapa niche-nya itu
  • Saya sebenarnya sudah bisa menulis kode, tapi tidak punya waktu, dan AI benar-benar jadi game changer yang membuat saya akhirnya merilis proyek open source ke dunia
    Sekarang saya antusias membuat aplikasi GUI lokal untuk Linux yang dulu bahkan tidak cukup memotivasi saya untuk mulai

    • Sambervise: https://github.com/edward-murrell/sambervise
      Aplikasi GUI Linux untuk mengelola Samba 4 Active Directory Domain Controller dari jarak jauh
    • Krbtray: https://github.com/edward-murrell/krbtray
      Aplikasi system tray GTK3 untuk mengelola tiket Kerberos pada Linux Mint / Cinnamon dan lingkungan GTK yang memakai GtkStatusIcon
    • Ini benar-benar bikin saya condong ke AI coding
      Karena keduanya persis jenis aplikasi yang memang saya butuhkan dan cari sendiri
    • Perubahan penting lainnya adalah biaya refactoring skala besar turun drastis
      Berkat coding assistant, saya jadi bisa mencoba perubahan struktur yang dalam, termasuk desain modul, dengan waktu jauh lebih sedikit dibanding dulu
      Tentu bukan tanpa harga; beberapa model sering menghasilkan kode yang tidak memenuhi standar maintainability
      Menghemat waktu penulisan bukan berarti waktu untuk revisi berulang, perapian, dan memperkuat system prompt atau file instruksi ikut hilang
  • Saya tidak terlalu setuju dengan kekhawatiran bahwa terlalu banyak memakai alat akan membuat kita deskilling
    Saya seorang milenial, dan saya membuat furnitur dengan perkakas tangan serta teknik sambungan kayu lama
    Saya tidak belajar dari siapa pun secara langsung, hanya dari materi online, tapi tetap bisa mempelajari apa yang saya inginkan
    Saya juga tidak takut akan kehilangan keterampilan itu nanti, karena kalau perlu saya bisa mempelajarinya lagi
    Buku, video, alat, dan kayu tidak akan lenyap
    Memakai AI tidak berarti ada lubang hitam di otak hanya karena kita jadi lebih jarang mengetik kode dengan tangan
    Ini bukan seperti Alzheimer yang membuat informasi hilang selamanya; paling hanya butuh sedikit waktu untuk memanaskannya lagi lalu cepat kembali
    Orang yang pindah dari coding ke manajemen lalu kembali beberapa tahun kemudian juga biasanya cuma agak berkarat, bukan benar-benar kehilangan kemampuan
    Apalagi untuk proyek pribadi, sebenarnya tidak perlu membakar token Opus
    Pakai langganan murah seperti MiniMax, jalankan dalam container dengan yolo mode, lalu beri konteks, prompt, pencarian web, dan sistem tiket seperti beads sudah cukup
    Karena ini bukan urusan mendesak, cukup ikuti urutan brainstorm → plan → implementation → testing, dan sediakan cara pengujian nyata, bukan cuma mock atau unit test, maka pada akhirnya proyek bisa selesai sambil menghemat waktu dan uang

  • Dua belas tahun lalu saya ingin membuat aplikasi sederhana yang menampilkan berapa sisa hari/minggu/bulan saya dalam bentuk panjang batang, dan juga menampilkan cuaca dengan batang untuk suhu maksimum-minimum, tingkat awan, dan semacamnya
    Dengan teks dan ASCII saya sempat sampai tahap lumayan, tapi gagal membuat antarmuka yang cukup enak dipakai setiap hari, dan GUI grafisnya tidak pernah selesai
    Jadi saya menjelaskan antarmuka grafis yang saya inginkan ke Claude Code dan mencobanya, lalu keluarlah aplikasi yang persis saya mau, bahkan dia menemukan bug parser tanggal yang selama ini tidak saya sadari
    Sekarang aplikasi itu selalu saya tampilkan di pojok layar
    Berikutnya saya ingin membuat aplikasi iPhone yang otomatis mematikan alarm pagi di hari libur sekolah anak-anak
    Saya sama sekali tidak paham aplikasi iPhone dan tidak punya waktu untuk belajar, jadi dulu hal seperti itu terasa mustahil
    Untuk aplikasi pribadi, Claude Code benar-benar hebat, dan karena kualitas kode tidak terlalu penting, hasilnya bisa langsung dipakai apa adanya

    • Claude Code memang sangat cocok untuk aplikasi pribadi
      Clipboard manager untuk Mac yang saya pakai selama bertahun-tahun jadi aneh setelah update OS, dan aplikasi pengganti di App Store juga tidak punya fitur yang saya mau
      Jadi saya membaca tulisan Simon Willison tentang vibe coding dengan SwiftUI lalu membuatnya sendiri dengan Claude Code
      Memang perlu beberapa iterasi, tapi sekarang aplikasi itu melakukan semua yang saya inginkan dari menu bar Mac, bahkan lebih
      Yang paling mengesankan, ketika saya meminta ide fitur tambahan ke CC, dia memberi daftar panjang opsi yang tidak terpikir oleh saya, lalu saya pilih beberapa dan semuanya bisa langsung saya suruh implementasikan
      Dua hari lalu saya juga merasa ingin punya editor markdown khusus yang mirip komponen editor markdown baru di LibreOffice, tapi lebih kecil dan ringan
      Jadi saya memakai GPT 5.5 untuk membuat garis besar lalu CC untuk implementasinya, dan hanya dalam dua sesi vibe coding, aplikasi native Mac yang ringan itu hampir selesai: bisa membuka dan membuat file, mengedit ala word processor, dan menyimpan canonical markdown
      Yang belum tinggal markdown table, dan itu rencananya akan saya suruh kerjakan hari ini
      https://simonwillison.net/2026/Mar/27/vibe-coding-swiftui/
      https://news.ycombinator.com/item?id=47298885
    • Memang begitu
      Saya suka membuat sesuatu, tapi kadang saya cuma ingin cepat mendapatkan hasil jadi
      Saat saya ingin punya tool pribadi untuk tujuan tertentu tanpa mengorbankan satu akhir pekan penuh, bantuan LLM benar-benar bagus, dan kualitas kodenya tidak terlalu penting
    • Bahkan mungkin tidak perlu membuat aplikasinya sendiri
      Di iPhone, ini bisa diselesaikan dengan aplikasi Shortcuts bawaan
      Anda bisa membuat shortcut untuk mematikan semua alarm, lalu membacakan sinyal seperti kalender untuk menyalakan dan mematikan alarm pada tanggal atau jam tertentu, lalu menjalankannya secara terjadwal
  • Menurut saya, side project biasanya tidak terlalu layak dilakukan kalau memang tidak ada keinginan untuk mengerjakannya
    Kalau yang utama proses dan pengalaman, itu namanya waktu luang; kalau yang utama hasil, itu namanya kerja
    Jika kita terus-menerus membuat side project hanya demi hasil, pada akhirnya kita cuma sedang bekerja di waktu bebas, dan saya ragu itu benar-benar kebebasan
    Masyarakat modern sudah terlalu banyak menuntut hasil dari kita, jadi setidaknya side project ingin saya sisakan untuk kesehatan mental
    Namun jika ada tujuan yang dipercaya demi kebaikan yang lebih besar, itu mungkin jadi pengecualian, dan tujuan seperti itu bisa membuat prosesnya sendiri lebih kaya

    • Saya punya banyak hobi, dan programming hanya salah satunya
      Kadang saya butuh software yang bisa membuat hobi lain lebih menyenangkan, tapi bukan berarti saya ingin mengambil waktu dari hobi X hanya untuk membuat software itu sendiri
      Lagi pula, pekerjaan semacam itu kadang bukan jenis coding yang memang ingin saya lakukan untuk bersenang-senang
      Di titik seperti inilah LLM-assisted coding sweet spot bagi saya, dan saya benar-benar sudah membuat beberapa helper app untuk menikmati hobi-hobi lain dengan lebih baik
      Itu tetap termasuk waktu hobi, hanya saja hobinya tidak harus coding
    • Kalau coding memang dilakukan demi coding itu sendiri, saya paham
      Tapi kalau ada itch yang ingin diselesaikan atau ambisi yang ingin diwujudkan, hanya saja dulu kurang waktu atau motivasi, saya tidak paham kenapa itu harus dianggap sebagai kerja di waktu luang
      Proyek yang dulu bisa menghabiskan seluruh akhir pekan atau liburan sekarang bisa dibangun kerangkanya dalam 15 menit, dan itu justru terasa lebih dekat ke kebalikan dari kerja
    • Saya simpatik pada sudut pandang ini, dan menurut saya ini sikap yang cukup sehat
      Saya sudah memrogram lebih dari 30 tahun, tapi selalu puas hanya dengan aplikasi command line, dan baru belakangan ini belajar Qt untuk mulai memasang UI desktop yang benar-benar layak
      Kurva belajarnya sangat curam, tapi sekarang rasanya saya sudah agak melewatinya
      Namun ketika saya memposting screenshot aplikasi di LinkedIn dan bilang bahwa itu open source gratis, justru ratusan komentar datang dari orang-orang gaya LinkedIn yang bahkan tidak akan mempekerjakan saya
      Respons seperti “kami ingin mengintegrasikan ini ke workflow kami” atau “ini bukan pertama kalinya ada yang mencoba ini” sama sekali tidak memotivasi, malah membuat saya merasa seperti hanya bekerja demi orang lain atau menerima kritik yang tidak perlu
      Setelah syok itu saya berhenti menyentuhnya sekitar sebulan, lalu akhirnya saya menyadari bahwa yang saya sukai sebenarnya adalah proses itu sendiri: belajar Qt dan melihat program-program lama saya hidup kembali
      Karena itu sekarang saya memperlakukannya seperti project car saya
      Saya terus bongkar-pasang, merombak total model datanya untuk melihat plus-minus desain yang berbeda, membuat graphic view sendiri, bahkan menambahkan terjemahan bahasa
      Secara fungsional sebenarnya sudah selesai, tapi saya punya sekitar lima versi yang secara internal benar-benar berbeda, dan justru itulah yang menyenangkan
      Saya memakainya sepanjang hari saat bekerja, dan saya tidak akan pernah menyebutnya lagi di LinkedIn
  • Di repo pribadi saya ada sampai tiga percobaan aplikasi catatan, dan semuanya berhenti di celah antara ide dan waktu luang
    Tapi berkat Claude Code, dalam dua bulan saya akhirnya menyelesaikan satu yang benar-benar saya inginkan
    Proses membuatnya sendiri adalah hobi terbaik yang pernah saya temukan, jauh lebih baik daripada game atau scroll tanpa henti
    Ketika ide yang saya simpan selama bertahun-tahun akhirnya dirilis, aplikasi itu terasa memuat bagian dari diri saya lebih dalam, dan saya rasa solo builder yang membuat hal seperti ini akan jauh lebih banyak ke depannya

    • Tapi siapa yang akan membelinya itu soal lain
      Bukan mau meremehkan orang yang menghidupkan lagi proyek lama, tetapi pasar tampaknya akan dipenuhi proyek yang sangat terspesialisasi
      Dulu kotak aplikasi punya lembar spesifikasi; sekarang mungkin kita akan butuh semacam bahasa pemodelan baru untuk menjelaskan tujuan penggunaan dan cakupannya
  • Pengalaman saya juga hampir persis sama
    Side project untuk agregasi perbandingan saya berhenti lebih dari setahun di kondisi 20% selesai, dan sebulan sekali saya membukanya, melihat daftar todo, lalu capek sendiri dan menutup tab lagi
    Tapi setelah beberapa akhir pekan duduk bareng Claude, saya berhasil melewati tembok proyek setengah jadi itu
    Hal yang mengejutkan bukan sekadar kecepatannya, melainkan hilangnya biaya masuk kembali: sebelumnya, setiap mau mengerjakan sesuatu saya harus memuat ulang kode lama saya ke kepala selama satu jam lebih dulu
    Hype yang berlebihan memang menyebalkan, tapi kebanyakan orang yang suka menertawakan alat seperti ini tampaknya belum benar-benar mencobanya untuk pekerjaan membosankan seperti ini dan melihat betapa bergunanya ia

  • Saya selalu punya lebih banyak ide daripada yang bisa saya tangani, dan beberapa di antaranya bahkan cukup bagus
    Berkat alat AI, sekarang saya bisa mewujudkan lebih banyak dari ide-ide itu menjadi sesuatu yang setidaknya lumayan berjalan
    Ironisnya, nilai dari implementasi seperti itu sedang turun cepat
    Beberapa minggu lalu saya membuat library pencarian kecil yang berjalan di browser dan tidak butuh server, mendukung hampir semua query term/matching dan aggregation ala Elasticsearch, serta menambahkan ANN vector search lewat WebGPU
    Kurang lebih seperti tinggal bilang “tambahkan fitur X” lalu langsung jadi, dan saya sudah memakainya di situs web nyata
    Ini memang tidak bisa diskalakan besar, tapi sangat bagus untuk blog atau situs dokumentasi, dan situs dokumentasinya ada di https://querylight.tryformation.com/
    Cara kerjanya persis seperti yang saya bayangkan, dan sepertinya saya juga bisa menambahkan long-tail feature Elasticsearch lainnya tanpa usaha besar
    Di sisi lain, respons di GitHub cukup dingin
    Sekarang semua orang tampaknya sibuk membuat versi mereka sendiri dengan AI, jadi usaha orang lain tidak lagi terlalu disambut, dan sejujurnya itu juga masuk akal
    Kalau butuh library pencarian, orang bisa saja langsung menghasilkan sendiri, atau membiarkan AI memilihkan yang cukup cocok
    Lagi pula, dari awal proyek ini memang tidak membutuhkan kerja keras yang luar biasa besar
    Nilai ekonomis proyek seperti ini sedang turun cepat
    Meski begitu saya tetap akan terus membuatnya, karena saya suka proses membangun, dan saya juga menganggap penting untuk menguasai kurva belajar dalam memakai alat-alat seperti ini
    Ke depan pekerjaan tetap akan banyak, tetapi orang akan berharap hasil yang layak dengan bayaran lebih sedikit, dan untuk memenuhi harapan itu kita perlu mahir memakai alat
    Pada akhirnya, saat batas kemungkinan melebar, standar ambisi juga ikut naik; kalau mengira AI akan bekerja menggantikan semuanya sehingga manusia tidak perlu banyak berharap lagi, itu keliru
    Saya sendiri juga bekerja sangat panjang selama beberapa bulan terakhir

  • Selama bertahun-tahun saya memikirkan beberapa ide produk setiap minggu, tapi semuanya cuma menumpuk di Apple Notes
    Namun dalam sebulan terakhir, saya berhasil membuat tiga di antaranya menjadi beta yang benar-benar bisa dipakai, dan sekarang saya memakai ketiganya setiap hari