xmuu.my.id
← Semua post

Desain dulu, kode kemudian

2 menit bacaprosesarsitektur

Platform ini tidak mulai dari create-next-app. Ia mulai dari pertanyaan: apa sebenarnya yang sedang dibangun, dan keputusan apa yang tidak boleh salah?

Tiga keputusan yang menahan sisanya

1. Modular monolith, bukan microservices. Situs ini punya dua wajah — etalase publik dan ruang kerja privat — di atas satu kernel tipis (auth, database per-schema, feature flags, queue, registry). Modul masuk-keluar lewat manifest; beratnya disiplin lifecycle: setiap fitur adalah experiment sampai dipromosikan, atau dikubur.

2. Konten = git + MDX. Post di sini interaktif — isinya komponen React — jadi CMS manapun paling bantr mengurus prosanya. Karena itu konten hidup di repo: prosa, komponen, aset, dan rollback dalam satu pull request.

3. Kernel dibangun ditarik kebutuhan, bukan didorong imajinasi. Fase satu (situs ini) tidak butuh database, auth, atau queue — jadi tidak ada. Mereka datang bersama modul pertama yang benar-benar membutuhkannya.

Riset sebelum commit pertama

Stack dipilih lewat riset, bukan ingatan: Next.js 16 untuk satu bahasa end-to-end, Drizzle + Postgres menyusul di fase 2, pg-boss untuk queue tanpa Redis, Better Auth untuk login. Alasan terbesarnya bukan fitur, tapi era agent: riset 2026 menunjukkan bottleneck pindah dari menulis kode ke memverifikasinya — dan satu bahasa berarti satu permukaan verifikasi.

Karena itu pula gerbang CI dipasang sejak commit pertama: typecheck, lint, test, build. Kode boleh ditulis agent; "selesai" didefinisikan oleh gerbang, bukan klaim.

Lalu kode

Setelah semua itu, menulis kode jadi bagian paling lurus. Fondasi yang kamu lihat sekarang — mesin konten bilingual, registry modul, tema monokrom — adalah hasil langsung dari desain di atas, dibangun slice demi slice yang masing-masing bisa jalan sendiri.

Post berikutnya akan masuk ke wilayah teknis yang lebih dalam — dengan diagram yang bisa dimainkan, bukan hanya dilihat.