Logo
HOMEABOUTPROJECTSBLOGCONTACT

Luthfi A. Pratama

Enterprise integration specialist building scalable, mission-critical solutions for modern businesses.

LINKS

  • About
  • Projects
  • Blog
  • Contact

CONNECT

GitHubLinkedInEmail

© 2026 Luthfi A. Pratama. All rights reserved.

Designed and built with passion.

Back to all articles
Book Reviews

Hooked: Catatan tentang Habit-Forming Products

Refleksi personal tentang buku Nir Eyal yang membedah mekanisme produk yang bikin kecanduan - perspektif developer yang bikin dan juga victim dari habit loops.

Luthfi A. Pratama

Luthfi A. Pratama

Software Engineer

2026-02-01
8 min read
Hooked: Catatan tentang Habit-Forming Products

Baca buku ini karena penasaran kenapa gue bisa scroll Instagram 2 jam tanpa sadar.

Atau check email berkali-kali walaupun baru dibuka 5 menit lalu.

Ternyata ini semua by design. Ada framework spesifik.

Dan setelah baca ini, gue jadi aware (dan sedikit takut) betapa powerful framework ini.

The Hook Model

Framework yang Nir Eyal introduce punya 4 komponen yang bikin habit loop:

  1. Trigger - Apa yang memicu user untuk action
  2. Action - Behavior sederhana dengan ekspektasi reward
  3. Variable Reward - Reward yang unpredictable
  4. Investment - User masukkan sesuatu yang bikin mereka return

Loop ini berulang sampai jadi automatic behavior. Simple tapi devastatingly effective.

Step 1: Trigger

Framework dimulai dengan trigger - signal yang bikin user take action.

External vs Internal Triggers

External triggers obvious dan easy to spot:

  • Push notifications
  • Email prompts
  • Iklan dan banner
  • Call-to-action buttons

Tapi yang powerful dan berbahaya: internal triggers.

Internal triggers adalah asosiasi antara emosi dengan produk.

Pola yang terbentuk:

Bosan → Buka Instagram
Cemas → Scroll Twitter
Ga yakin → Google sesuatu
Kesepian → Buka Facebook

Produk paling sukses associate themselves dengan emotional state:

  • Facebook = solusi untuk kesepian
  • YouTube = solusi untuk boredom
  • Google = solusi untuk uncertainty

Observation

Setiap kali uncomfortable emotion muncul, reflex ambil hp.

Ga conscious decision. Pure automatic response.

Apps sudah jadi coping mechanism untuk negative feelings.

Realisasi yang uncomfortable: gue ga pakai apps. Apps pakai gue.

Step 2: Action

Setelah triggered, user perlu take action. Semakin mudah action, semakin likely terjadi.

Formula untuk Action

Fogg Behavior Model: Behavior = Motivation × Ability × Trigger

Produk habit-forming fokus maximize ability (bikin semudah mungkin), bukan increase motivation.

Contoh eliminasi friction

Instagram/TikTok: Infinite scroll. Swipe ke bawah. No decision needed.

YouTube/Netflix: Autoplay. Default adalah continue. Butuh effort untuk stop.

Amazon: One-click purchase. Literally one tap.

Mereka reverse friction. Lebih mudah untuk continue daripada stop.

Dilema sebagai developer

Setiap design feature, mikir: "Gimana cara simplify user flow?"

Tapi setelah baca buku ini, awareness muncul: simplification bisa jadi manipulation.

Pertanyaan yang muncul:

Hilangkan friction untuk bantu user accomplish goals? → Bagus.

Hilangkan friction untuk exploit user vulnerabilities? → Questionable.

Garisnya blur. Intent matters.

Step 3: Variable Reward

Kenapa "variable" dan bukan "fixed" reward?

Unpredictability Creates Craving

Dopamine spike terbesar bukan dari reward itu sendiri, tapi dari anticipation.

Analogi mesin slot: Adiktif karena MUNGKIN menang. Bukan pasti menang atau pasti kalah.

Unpredictability keeps people engaged.

3 Kategori Variable Rewards

Eyal classify rewards ke 3 tipe:

1. Rewards of the Hunt (Sumber daya)

Pencarian resources - points, coins, deals, information.

Contoh: Shopee/Tokopedia flash sales. Buka app → mungkin ada deal bagus → dopamine.

2. Rewards of the Tribe (Sosial)

Social validation - likes, comments, followers, status.

Contoh: LinkedIn dengan "post kamu di top 5% minggu ini."

3. Rewards of the Self (Kompetensi)

Mastery, achievement, consistency.

Contoh:

  • Duolingo streak counter
  • GitHub contribution graph
  • Fitness app achievements

Personal vulnerability

Vulnerable ke 2 tipe: hunt dan self.

Hunt: Ga bisa resist "limited time offer" walaupun ga butuh. FOMO kuat.

Self: Maintain GitHub streak seperti obligation. Lihat contribution graph ada hole → rasa ga enak.

Yang sosial ga terlalu affect.

Step 4: Investment

Phase terakhir: minta user invest sesuatu.

Kenapa Investment Penting

Semakin banyak user invest (waktu, data, effort, social capital), semakin besar switching cost.

Contoh switching cost:

Spotify: Setelah years curate playlists dengan ratusan lagu, pindah ke Apple Music? Pain.

Notion: Setelah organize semua notes dengan struktur kompleks, migrate ke Obsidian? Huge effort.

Instagram: Setelah build follower base dan post history, start dari nol di platform lain? Reluctant.

Investment menciptakan commitment dan sunk cost fallacy.

Loading Next Trigger

Phase ini adalah timing perfect untuk ask user enable next trigger.

Contoh: "Aktifkan notifikasi supaya ga miss update!"

Muncul setelah user invest waktu bikin profil atau accomplish something.

User dalam positive emotional state → lebih likely say yes → cycle continues.

Manipulation Matrix: Pertanyaan Etika

Buku include framework untuk evaluate etika habit-forming products.

4 Kuadran

Eyal propose matrix berdasarkan 2 dimensi: apakah builder use the product, dan apakah product improve user's life.

Builder Uses? Improves Life? Category Assessment
Yes Yes Facilitator Ethical - solve own problem
No Yes Peddler Questionable - selling solution you don't need
Yes No Entertainer Questionable - wasting own and others' time
No No Dealer Unethical - exploiting others

Kedengarannya clear cut. Tapi practice? Complicated.

Problem dengan Framework Ini

Siapa yang decide apa "improve life"?

Facebook claim: "Connect people worldwide!" Sounds good.

Reality: Research show correlation dengan depression, anxiety, FOMO.

Short-term: immediate relief dari boredom.
Long-term: attention span hancur, mental health impact.

Mobile games: "Hiburan" tapi kecanduan bisa hancurkan hidup.

Garis antara helpful dan harmful sangat blur.

Struggle sebagai builder

Build feature yang boost engagement metrics → good for company KPIs.

Tapi apakah good for users? Atau cuma exploitation?

Rasionalisasi yang mudah: "Users punya choice. Mereka bisa stop anytime."

Realita: Kalau deliberately design untuk exploit cognitive biases dan psychological vulnerabilities, apakah benar-benar "choice"?

Pertanyaan yang masih struggle:

  • Satu feature untuk "ease of use" atau satu hook untuk trap?
  • Notification untuk "help user stay updated" atau untuk interrupt constantly?
  • Gamification untuk "motivate" atau untuk manipulate?

Ga ada jawaban jelas dan universal. Context dan intent matter.

Hooks in the Wild

Setelah baca buku ini, ga bisa unsee hooks everywhere.

TikTok: Perfect Execution

Textbook implementation dari Hook Model:

  1. Trigger: Bosan atau waiting (internal trigger)
  2. Action: Swipe down (effortless)
  3. Variable Reward: Kadang funny, kadang informative, kadang shocking, never predictable
  4. Investment: Algorithm learn preferences. Semakin lama, semakin personalized feed

Perfect loop. Devastatingly effective.

Duolingo: "Good" Addiction?

Duolingo use exact same mechanisms:

  1. Trigger: Notifikasi "Your streak is at risk!" (plus guilt dari owl)
  2. Action: One quick lesson (5 minutes)
  3. Variable Reward: Sometimes easy, sometimes challenging. Achievement badges unpredictable
  4. Investment: Streak counter. Days invested. Progress visible

Difference: arguably help people learn language.

Tapi pertanyaan: Kecanduan ke productive thing tetap kecanduan. Is it healthy?

Ga ada jawaban clear.

Defense Mechanisms

Awareness adalah langkah pertama. Tapi butuh active defense.

Sebagai User

1. Identifikasi Internal Triggers

Setiap kali reach for phone, pause dan tanya: "Apa yang gue rasakan sekarang?"

Bosan? Anxious? Avoiding something?

Awareness tentang trigger breaks automatic response.

2. Tingkatkan Friction

Reverse apa yang apps lakukan.

Action items:

  • Delete apps paling adiktif dari phone
  • Matikan semua notifications except essentials
  • Enable grayscale mode (remove visual rewards)
  • Move apps ke folder dalam folder
  • Use app time limits

Make it harder untuk fall into loop.

3. Replace Loops, Don't Just Remove

Ga cukup "don't use Instagram." Butuh alternative.

Old loop: Bosan → scroll Instagram
New loop: Bosan → baca buku atau walk outside

Provide alternative untuk emotional trigger.

4. Time-Boxing

Scheduled checking beats constant monitoring.

Examples:

  • Email: 3x per hari (pagi, lunch, sore)
  • Social media: 1x per hari, 30 menit max
  • Messaging: Batch check every 2 hours

Struktur beats willpower. Willpower depletes. Structure persists.

Sebagai Builder

1. Question Engagement Metrics

More time spent ≠ better product.

Pertanyaan yang lebih penting: Apakah user accomplish goals mereka?

Netflix measure "time spent watching" tapi juga consider "satisfaction ratings."

2. Prioritize User Goals Over Company Goals

Build untuk help users, bukan trap users.

Example: YouTube added "Take a break" reminders. Against short-term engagement, tapi better long-term.

3. Build Exit Ramps

Respect natural stopping points.

Don't fight it dengan "one more episode" atau "people also viewed."

Let users leave when they want.

4. Transparency

Be upfront tentang persuasive design techniques.

"We use notifications to keep you engaged" → honest.

Vs pretend notifications are purely "helpful reminders."

Trade-offs tetap ada. Ga sempurna. Masih ongoing struggle.

Bottom line

Buku ini bukan comfortable.

Bikin question banyak produk (dan pekerjaan sendiri).

Tapi awareness necessary.

Hook Model adalah peta. Pakai untuk bantu orang atau jebak orang - pilihan dengan tanggung jawab.

Gue masih wrestling dengan implikasi.

Tapi at least sekarang struggle dengan mata terbuka.

Hooks akan selalu ada. Pertanyaannya: pakai bijak atau sembarangan?

Topics

Book ReviewsSoftware Engineering

Related Articles

OAuth 2.0 & OpenID Connect: Gimana "Login dengan Google" Itu Bekerja

Catatan pembelajaran tentang OAuth 2.0 dan OpenID Connect - dari kenapa kita butuh authorization framework, Authorization Code Flow step-by-step, PKCE, ID token vs access token, sampai common mistakes di production.

Caching: Kenapa Sistem Cepat Itu Sistem yang Males Ngitung Ulang

Catatan pembelajaran tentang caching - dari kenapa cache itu penting, strategi caching, Redis vs Memcached, cache invalidation, CDN, sampai pitfalls yang sering kejadian di production.

Clustering: Gimana Banyak Server Kerja Bareng Jadi Satu Sistem

Catatan pembelajaran tentang konsep clustering - dari kenapa satu server ga cukup, gimana cluster milih leader, sampai consensus algorithm dan real-world implementations.