1 min read In Indonesian

Yang bikin proyek vibe coding berantakan bukan kode yang salah.

Tapi scope yang nggak pernah ditentuin dari awal.

Vibe coding itu kerasa cepat banget di awal.
→ Fitur pertama jadi dalam hitungan menit.
→ Fitur kelima mulai sering konflik sama yang lama.
→ Fitur kesepuluh… nambah apa pun rasanya berat.

Bukan karena AI-nya makin bodoh.

Tapi karena kita langsung gas tanpa pernah mutusin: mau bangun apa, strukturnya gimana, dan apa yang sengaja nggak dibangun.

Akhirnya:
Jadi mesti refactor.
Jadi harus fix bug yang terus balik lagi.

Gw ngalamin sendiri di app panahan yang gw bikin buat anak-anak gw.

Versi pertamanya full vibing.
Cepat jadi.

Tapi design-nya berantakan.

Makin banyak fitur, makin susah di-scale.
Ujungnya: rewrite dari nol.

Versi kedua gw bangun dengan cara beda: spec-driven development, dibantu agent-skills dari Addy Osmani.

Minggu ini keuji di fitur paling kompleks sejauh ini: offline mode plus PWA. Service worker, sync, idempotency.

Sebelum satu baris kode ditulis, spec-nya maksa gw mutusin dulu:
↳ Apa yang dibangun — dan apa yang masuk non-goals.
↳ Conflict rule kalau data offline ketemu data server: last-write-wins.
↳ Boundaries buat AI-nya: Always, Ask first, Never.

Spec-nya approved dalam hitungan menit.
Kalau disusun manual kayak dulu, bisa seharian lebih.

Dan build-nya? Smooth. Hampir nggak ada bolak-balik.

Bukan karena AI-nya nulis kode lebih bagus.
Tapi karena semua keputusan udah diambil sebelum ngoding.

AI bisa bantu nyusun dan ngerjain spec-nya.

Tapi yang mutusin scope, trade-off, dan batasannya — tetap kita.

Ada yang pakai agent-skills juga di sini? Atau tim superpowers?

Screenshot of an approved spec document titled "SPEC — PWA & Offline Score/Session Logging", with sections for objective, decisions, non-goals, architecture and boundaries.