Blog

Blog

Catatan seputar coding, produk, dan hal-hal yang sedang saya pelajari.

Ketika Ide Bertemu Claude Max

Beberapa hari memakai Claude Max cukup untuk mengubah cara saya memandang eksekusi, kelangkaan, dan apa yang tersisa dari daya cipta manusia.

#ai#produktivitas#refleksi#claude

Checklist Saya Sebelum Nyambungin MCP Server Baru ke Codebase Client

MCP server itu ekosistem plugin baru buat AI coding agent, dan advisory keamanan soal ini tahun ini udah lumayan serius. Ini rutinitas beneran yang saya jalanin sebelum nyambungin satu server baru.

#mcp#ai#security

Saya Coba Pasang Login Passkey di Project Client: Apa yang Beneran Kejadian

Passkey udah full didukung browser dan OS sekarang, tapi katanya adopsinya stagnan. Ini yang kejadian pas saya beneran pasang di app client beneran, bukan sekadar demo.

#auth#passkeys#security

Context Engineering: Beneran Beda Sama Prompt Engineering, Apa Cuma Rebranding?

Hot take: sebagian dari yang dijual sebagai 'context engineering' tahun ini itu beneran skill yang beda. Tapi cukup banyak juga yang cuma prompt engineering ganti baju.

#ai#context-engineering#opinion

Minggu Waktu Worm Supply-Chain Beneran Nongol di Dependency Tree Salah Satu Project Saya

Saya udah pernah nulis checklist buat insiden kayak gini. Bulan ini salah satunya beneran nyentuh project client, dan checklist itu dapet test beneran pertama kalinya.

#npm#security#incident

Saya Migrasi Project Client ke Compiler Native TypeScript 7: Apa yang Beneran Berubah

TypeScript 7.0 rilis bulan ini dengan compiler native berbasis Go, katanya 10x lebih cepat. Saya coba beneran di project client, bukan cuma percaya benchmark orang.

#typescript#compiler#tooling

Checklist Saya Sebelum Ngasih Tool AI Baru Deket-Deket Proyek Klien

Agent atau IDE baru diumumin hampir tiap minggu. Ini checklist konkret yang saya jalanin sebelum adopsi satu, daripada ngejar tiap ada launching.

#ai#tools#checklist

Pasar Kerja Lagi Paling Ketat yang Pernah Saya Liat — Ini Kelihatannya dari Sisi Freelancer

Semua orang baca headline soal hiring entry-level yang makin kering. Ini yang beneran kelihatan dari tempat saya duduk sebagai freelancer solo.

#career#freelance#job-market

Semua Orang Heboh Soal Signals — Saya Belum Mau Rewrite Stack React Saya

Fine-grained reactivity itu hype frontend tahun ini. Ini kenapa stack React + Spring Boot saya belum pindah, dan apa yang beneran bisa ngubah pikiran saya.

#react#frontend#signals

Spec-Driven Development: Emang Beneran Beda dari Vibe Coding?

Saya coba nulis spec formal dulu sebelum ngasih agent pegang codebase klien — ini yang beneran berubah, dan yang cuma vibe coding pakai jas.

#ai#spec-driven-development#opinion

Checklist Saya Tiap Kali Ada Serangan Supply-Chain npm Baru

Bukan saran teoretis — ini langkah konkret yang saya jalanin di semua project pas ada worm atau package yang kecompromise lagi muncul di linimasa dev.

#security#npm#supply-chain

Nyoba AI Browser Agent buat Kerjaan Freelance yang Ngebosenin

Saya coba pakai browser agent buat ngerjain tugas administratif freelance yang selama ini saya males banget ngerjain. Hasilnya campur aduk — dan itu yang bikin menarik.

#ai#automation#browser-agent

Semua Orang Ngomongin Edge Computing, Saya Masih di VPS $6/Bulan — Ini Alasannya

Hot take: buat scale project-project saya, edge functions itu solusi buat masalah yang saya nggak punya, ditambah beberapa masalah baru yang harus saya urus.

#devops#vps#opinion

Retrospektif: Kebiasaan Kerja Saya yang Beneran Berubah Sepanjang 2026

Bukan prediksi soal masa depan AI dan software — cuma jujur ngeliat ke belakang, kebiasaan kerja mana yang beneran nempel dan mana yang cuma trend sesaat buat saya pribadi.

#career#ai#retrospective

Sebulan Pakai Bot Review Kode AI di PR Saya: Ini yang Beneran Kepake

Saya pasang AI reviewer otomatis di beberapa repo selama sebulan. Sebagian catetannya beneran nolongin, sebagian cuma noise yang saya matiin.

#ai#code-review#workflow

Checklist Saya Sebelum Terima Klien Freelance Baru

Pertanyaan-pertanyaan yang beneran saya tanyain sebelum bilang iya ke proyek baru, hasil belajar dari beberapa kontrak yang harusnya saya tolak.

#freelance#career#checklist

Language Switcher Situs Ini Cuma Nge-prefix `/en`, Bukan Nerjemahin Slug

Kenapa i18n-url.ts bisa sesederhana itu, kenapa itu artinya slug ID dan EN harus selalu sama persis — dan gimana saya sendiri pernah ngelanggar aturan itu.

#astro#i18n#routing

Kenapa Saya Terus Mindahin Stack ke Self-Hosting

Apa aja yang saya pindahin dari SaaS ke VPS sendiri tahun ini, dan alasan sebenarnya — biaya cuma salah satu, bukan yang utama.

#self-hosting#vps#devops

Nggak Nulis CSS Sendiri buat Markdown, Saya Pasrahin ke @tailwindcss/typography

Kenapa isi blog post dan case study portfolio dirender pakai class prose, bukan style manual per elemen.

#typography#markdown#css

Yang Bakal Saya Bilang ke Junior Developer yang Baru Mulai Sekarang

Nengok balik jalan saya sendiri dari Android dev ke fullstack freelancer, di job market yang keliatannya jauh lebih susah ditembus dibanding zaman saya.

#career#junior-developer#ai

Sebulan Ngoding Harian Pakai Claude Sonnet 5

Apa yang beneran berubah di kerjaan freelance harian saya setelah pindah workflow agent ke Claude Sonnet 5.

#ai#claude-sonnet#workflow

Kenapa Saya Nggak Hapus Riwayat Laravel Lama, Cuma Pindahin ke Branch

Alasan gookkis-web-laravel-old masih ada di repo ini walaupun main udah nggak butuh satupun barisnya.

#git#migrasi#engineering

Situs Statis Ini Nggak Punya Test Suite — Ini Kenapa Saya Belum Khawatir

Astro check nge-cover apa yang paling sering rusak, dan sisanya risikonya kecil buat proyek seukuran ini.

#testing#astro#static-site

Pindah ke Tailwind v4: Nggak Ada Lagi tailwind.config.js

Kenapa semua color token sekarang saya define langsung di CSS lewat @theme, bukan di file JS config kayak Tailwind v3.

#tailwindcss#css#frontend

Panik 'Utang Teknis' Vibe Coding: Yang Beneran Saya Lihat di Lapangan

Semua orang lagi ribut soal krisis utang teknis gara-gara vibe coding — ini yang beneran saya temuin sebagai freelancer yang sering dipanggil buat beresinnya.

#ai#vibe-coding#opinion

Yang Saya Siapkan Sebelum Daftar Google AdSense

Checklist yang saya pakai buat mastiin blog ini siap direview: privacy policy, konten, sampai konfigurasi teknis.

#adsense#blog#monetisasi

Animasi Background Halus Tanpa Library JavaScript

Cara saya bikin efek signal-field di background situs ini cuma pakai CSS, tanpa canvas atau library animasi.

#css#animation#frontend

Dari Android Freelancer ke Full-Stack: Evolusi Stack Saya

Perjalanan tech stack saya dari fokus native Android ke web, backend, sampai desktop app lintas platform.

#karier#freelance#stack

Nulis Blog Dibantu AI Tapi Tetap Berdasarkan Pengalaman Sendiri

Proses saya nulis post-post di blog ini: brainstorming sama AI, tapi isinya tetap pengalaman dan keputusan asli — termasuk satu kali saya hampir ke-lolosin klaim yang nggak pernah beneran saya cek.

#ai#menulis#blog

Pola Thin Route + Shared Component buat Halaman Dwibahasa di Astro

Struktur yang saya pakai biar nggak dobel maintenance markup antara halaman Indonesia dan Inggris.

#astro#arsitektur#i18n

Checklist TLS dan HSTS Minimal buat VPS Sendiri

Konfigurasi SSL yang saya pakai di Nginx: bukan yang paling canggih, tapi cukup buat situs statis personal — dan skor yang beneran keluar pas saya scan.

#security#nginx#vps

Kenapa Case Study Portfolio Saya Pakai Format Problem-Solusi

Alasan field problem dan solution di schema portfolio, bukan cuma judul proyek dan screenshot.

#portfolio#karier#writing

RSS Feed Dwibahasa: Kenapa Masih Saya Pertahankan

Di era yang katanya RSS udah mati, ini alasan saya tetap generate rss.xml per bahasa buat blog ini.

#rss#blog#astro

SEO Checklist buat Static Site: Sitemap, Hreflang, dan Schema

Tiga hal teknis yang saya beresin biar situs statis ini lebih gampang diindeks dan dipahami mesin pencari.

#seo#astro#static-site

Toggle Tema 3 Arah: System, Light, Dark — Bukan Cuma prefers-color-scheme

Kenapa satu tombol tema yang siklus lewat tiga state ternyata lebih baik daripada cuma ngandelin preferensi OS.

#css#ux#tailwind

Pakai AI Buat Nulis Test: yang Membantu dan yang Tetap Saya Cek Manual

Gimana saya libatkan AI coding agent dalam proses nulis dan review unit test.

#ai#testing#productivity

Backup dan Disaster Recovery buat Solo Developer: Yang Saya Terapkan

Setup backup sederhana yang saya pakai supaya nggak panik kalau VPS tiba-tiba mati.

#devops#backup#vps

Flutter vs Native: Kenapa Saya Tetap Pilih Native buat Sebagian Besar Proyek Mobile

Pertimbangan saya waktu milih antara Flutter dan native development (Swift/Kotlin) — dan satu kejadian yang bikin saya mikir ulang soal ini.

#flutter#mobile#native

TypeScript vs JavaScript: Kenapa Saya Akhirnya Total Pindah

Alasan praktis kenapa saya berhenti nulis JavaScript polos di proyek baru.

#typescript#javascript#webdev

Kenapa Saya Pindahin gookkis.com dari Laravel ke Astro

Alasan di balik migrasi dari CMS Laravel + database ke static site Astro yang lebih ringan dirawat.

#astro#laravel#static-site

Kenapa Saya Suka Kerja di Beberapa Proyek Freelance Sekaligus

Alasan saya tetap pegang lebih dari satu proyek freelance dalam satu waktu, gimana cara ngatur supaya nggak keteteran, dan titik di mana itu pernah kebablasan.

#career#freelance

Jadi Software Engineer Remote: Yang Saya Pelajari dari Bertahun-Tahun Freelance

Beberapa pelajaran soal disiplin, komunikasi, dan manajemen waktu dari kerja remote freelance.

#career#remote#freelance

Deploy Banyak Proyek di Satu VPS: Struktur Nginx yang Saya Pakai

Gimana cara saya host banyak domain/proyek dalam satu server pakai Nginx.

#devops#nginx#vps

Setup CI/CD Sederhana Pakai GitHub Actions buat Static Site

Struktur workflow deploy yang saya pakai buat situs ini — build, sync, selesai.

#devops#ci-cd#github-actions

Milih VPS buat Side Project: Hal-Hal yang Saya Pertimbangkan

Beberapa faktor yang saya cek sebelum mutusin VPS buat proyek sampingan — ditulis setelah dua kali pindah provider karena alasan yang beda-beda.

#devops#vps

Hemat Token, Hemat Waktu: Tips Ngoding Efektif Bareng AI

Bukan daftar tips generik — ini pelajaran yang saya kumpulin dari kesalahan komunikasi sendiri sama AI coding assistant, satu per satu.

#ai#productivity#tips

Workflow Ngoding Bareng AI Agent yang Saya Pakai Sekarang

Gimana cara saya integrasikan AI coding agent ke proses development sehari-hari.

#ai#claude-code#productivity

Eksperimen Agentic AI: Bikin dodolanan.com Pakai Claude Code

Cerita eksperimen saya riset workflow agentic AI dengan langsung bikin dan rilis proyek nyata, bukan cuma demo yang nggak pernah keluar dari laptop.

#ai#agentic-ai#claude-code

Static Site vs CMS Tradisional: Kapan Harus Pindah?

Pertimbangan yang saya pakai sebelum mutusin migrasi dari CMS berbasis database ke static site.

#webdev#cms#astro

PostgreSQL vs MySQL: Kapan Saya Pilih yang Mana

Perbandingan praktis dari pengalaman pakai keduanya di berbagai proyek.

#sql#postgresql#mysql

React + Spring Boot: Stack Favorit Saya buat Aplikasi Internal

Kenapa kombinasi React di frontend dan Spring Boot di backend jadi pilihan andalan saya buat aplikasi web internal.

#react#spring-boot#webdev

Astro Content Collections: Cara Kelola Konten Tanpa Database

Gimana content collections di Astro bikin blog dan portfolio bisa jalan tanpa CMS atau database sama sekali.

#astro#webdev#cms

Pindah dari Web ke Android Development: Yang Saya Pelajari

Beberapa mindset shift yang harus saya lakukan waktu pertama kali serius terjun ke Android development.

#android#mobile#career

Kenapa Privacy-First Itu Penting Buat Aplikasi Personal (Studi Kasus Istiqomah)

Alasan di balik keputusan desain 'no account, no server, no ads' di Istiqomah.

#privacy#mobile#product

Membangun Istiqomah: App Habit Tracker Tanpa Server dan Tanpa Akun

Cerita di balik pembuatan Istiqomah — aplikasi pelacak ibadah harian yang 100% jalan di device, termasuk satu edge case perhitungan yang bikin saya riset ulang.

#swift#kotlin#mobile#privacy

Swift vs Kotlin: Perbandingan dari Developer yang Pakai Keduanya

Setelah bertahun-tahun kerja di Android dan iOS, ini perbandingan jujur saya soal Swift dan Kotlin.

#swift#kotlin#mobile

Python vs Go buat Backend Tools Internal: Pengalaman Saya

Kapan saya pilih Python, kapan saya pilih Go, buat tools internal dan automation.

#python#golang#backend

Belajar dari Nol: Membangun Fitur Remote Desktop dari Sisi Security

Hal-hal yang saya pelajari soal enkripsi, autentikasi, dan session handling waktu bikin fitur remote desktop.

#security#desktop#csharp

Kenapa Golang Cocok Buat Bikin Tools VPN dan Remote Desktop

Concurrency model dan single-binary deployment Go bikin dia jadi pilihan natural buat networking tools — termasuk satu perbandingan langsung yang saya coba sendiri.

#golang#vpn#security

Bikin Aplikasi Desktop Cross-Platform dengan Avalonia UI dan C#

Kenapa saya pindah dari WPF ke Avalonia buat aplikasi desktop yang harus jalan di Windows, macOS, dan Linux.

#avalonia#csharp#desktop