Modul referensi resmi Level 1 VibeKoding: Memahami Kebutuhan Sejati (JTBD).Modul referensi resmi Level 1 VibeKoding: Memahami Kebutuhan Sejati (JTBD).
import StageAssignmentCard from '@theme/components/StageAssignmentCard.vue'import StageAssignmentCard from '@theme/components/StageAssignmentCard.vue'
Suppose we are planning a meeting-notes tool. Starting from features, it is easy to list transcription, summaries, action-item extraction, and document export. Yet those features do not answer a more basic question: why would someone use the tool after a meeting?Suppose we are planning a meeting-notes tool. Starting from features, it is easy to list transcription, summaries, action-item extraction, and document export. Yet those features do not answer a more basic question: why would someone use the tool after a meeting?
Jobs to Be Done (JTBD) answers this question by looking at the task the user is trying to complete. It focuses on the specific situation, the desired result, and the current way of working instead of assuming that a particular feature must be useful.Jobs to Be Done (JTBD) answers this question by looking at the task the user is trying to complete. It focuses on the specific situation, the desired result, and the current way of working instead of assuming that a particular feature must be useful.
This chapter first introduces the basic idea of JTBD, then shows how to rewrite a feature description as a testable needs hypothesis.This chapter first introduces the basic idea of JTBD, then shows how to rewrite a feature description as a testable needs hypothesis.
Jobs to Be Done, often shortened to JTBD, is built around a simple idea: users “hire” a product to get something done.Jobs to Be Done, often shortened to JTBD, is built around a simple idea: users “hire” a product to get something done.
That “something” is usually not just a surface task. It is a kind of progress.That “something” is usually not just a surface task. It is a kind of progress.
Examples:Examples:
JTBD helps you focus less on feature names and more on what users are trying to move toward.JTBD helps you focus less on feature names and more on what users are trying to move toward.
It also changes how you see competition. If the job is “make a long PDF easier to understand,” your competition is not just another AI tool. It may be a colleague, an intern, manual skimming, or even delaying the task.It also changes how you see competition. If the job is “make a long PDF easier to understand,” your competition is not just another AI tool. It may be a colleague, an intern, manual skimming, or even delaying the task.


Many beginners start by writing personas: 25 years old, white-collar worker, likes productivity tools, willing to try new apps. That information is not useless, but it usually does not explain why someone acts right now.Many beginners start by writing personas: 25 years old, white-collar worker, likes productivity tools, willing to try new apps. That information is not useless, but it usually does not explain why someone acts right now.
JTBD pushes you toward more useful questions:JTBD pushes you toward more useful questions:
That is the difference:That is the difference:
Feature lists have a similar trap. Users may ask for export, rewrite, voice input, or smart tags. Those are surface requests. JTBD asks what sits underneath them:Feature lists have a similar trap. Users may ask for export, rewrite, voice input, or smart tags. Those are surface requests. JTBD asks what sits underneath them:
Sometimes a feature is just a temporary translation of a deeper job.Sometimes a feature is just a temporary translation of a deeper job.
Imagine someone buys coffee and a sandwich every morning on the way to work.Imagine someone buys coffee and a sandwich every morning on the way to work.
On the surface, they are buying breakfast. In JTBD terms, they may really be trying to:On the surface, they are buying breakfast. In JTBD terms, they may really be trying to:
The thing they "hire" is not really one specific sandwich brand. It is a reliable way to keep the morning moving.The thing they "hire" is not really one specific sandwich brand. It is a reliable way to keep the morning moving.
The same logic applies to AI products. If you want to build an AI meeting summary tool, JTBD helps you step back from feature brainstorming and ask:The same logic applies to AI products. If you want to build an AI meeting summary tool, JTBD helps you step back from feature brainstorming and ask:
If the job becomes clear, priorities become clearer too. Maybe the first version does not need twelve export formats. Maybe it mainly needs:If the job becomes clear, priorities become clearer too. Maybe the first version does not need twelve export formats. Maybe it mainly needs:
That is JTBD at its best: it brings you back from “which capabilities should I stack?” to “what progress am I helping the user make?”That is JTBD at its best: it brings you back from “which capabilities should I stack?” to “what progress am I helping the user make?”


The comparison below presents three situations. As you switch between them, notice what the product feature and the user's job describe.The comparison below presents three situations. As you switch between them, notice what the product feature and the user's job describe.
If you are a beginner, do not overcomplicate this. Start with five parts.If you are a beginner, do not overcomplicate this. Start with five parts.
In what moment or context does the user look for help?In what moment or context does the user look for help?
If you cannot describe the situation, the need is probably still too vague.If you cannot describe the situation, the need is probably still too vague.
What makes them act now?What makes them act now?
Triggers often come with emotion. That emotion matters.Triggers often come with emotion. That emotion matters.
What state are they trying to move toward?What state are they trying to move toward?
Many people are not really buying tools. They are buying state change.Many people are not really buying tools. They are buying state change.
What are they doing right now without your product?What are they doing right now without your product?
The workaround is often your real competition.The workaround is often your real competition.


What would make the user say this was truly helpful?What would make the user say this was truly helpful?
If you cannot say what “useful enough” means, the direction is probably still not focused enough.If you cannot say what “useful enough” means, the direction is probably still not focused enough.
Use this sentence pattern:Use this sentence pattern:
> When __________, I want to __________, so that I can __________.> When __________, I want to __________, so that I can __________.
> Right now, I have to __________.> Right now, I have to __________.
Example:Example:
> When I am preparing to apply for internships, I want to quickly turn my existing resume into a version that fits a specific role, so that I can submit applications without getting stuck in endless revisions.> When I am preparing to apply for internships, I want to quickly turn my existing resume into a version that fits a specific role, so that I can submit applications without getting stuck in endless revisions.
> Right now, I have to rewrite things manually and ask friends for feedback.> Right now, I have to rewrite things manually and ask friends for feedback.
That is already much more useful than “I want to build a resume AI.”That is already much more useful than “I want to build a resume AI.”
Many AI products look powerful in demos but fail to keep users. A common reason is that they solve only the surface task, not the deeper job.Many AI products look powerful in demos but fail to keep users. A common reason is that they solve only the surface task, not the deeper job.
You can roughly look at a job in three layers:You can roughly look at a job in three layers:
What is the surface task?What is the surface task?
This is the easiest layer for users to say out loud.This is the easiest layer for users to say out loud.
What discomfort do they want to reduce, or what feeling do they want to gain?What discomfort do they want to reduce, or what feeling do they want to gain?
Willingness to pay often has a lot to do with this layer.Willingness to pay often has a lot to do with this layer.
Who do they want to look like in front of others?Who do they want to look like in front of others?
If you only solve the functional layer, you are easier to replace. If you understand the emotional and social layers too, your product direction often becomes much stronger.If you only solve the functional layer, you are easier to replace. If you understand the emotional and social layers too, your product direction often becomes much stronger.
Sometimes you do not already have a product. You have three to five ideas and do not know which one deserves attention. JTBD is useful here too.Sometimes you do not already have a product. You have three to five ideas and do not know which one deserves attention. JTBD is useful here too.
Ask each idea:Ask each idea:
If an idea still sounds like “kind of interesting” after this, but you cannot explain the trigger, workaround, or success condition, it is probably still a vague idea rather than a good starting direction.If an idea still sounds like “kind of interesting” after this, but you cannot explain the trigger, workaround, or success condition, it is probably still a vague idea rather than a good starting direction.
Many people run interviews by asking: “What features do you want?” That usually gets surface answers.Many people run interviews by asking: “What features do you want?” That usually gets surface answers.
JTBD-style questions are better:JTBD-style questions are better:
These questions pull the conversation back into real experience instead of imagined preference.These questions pull the conversation back into real experience instead of imagined preference.


JTBD is not an AI invention, but AI is very useful for organizing and clarifying JTBD.JTBD is not an AI invention, but AI is very useful for organizing and clarifying JTBD.
For example, if you already collected 5 to 10 user quotes, you can ask AI to summarize them like this:For example, if you already collected 5 to 10 user quotes, you can ask AI to summarize them like this:
text Please act as a product research assistant. I will give you raw user quotes. Do not give feature ideas yet. First organize them using Jobs to Be Done: 1. What situation is the user in? 2. What event triggered action? 3. What progress are they really trying to make? 4. What is the current workaround? 5. What success condition matters most? 6. What emotional words show up repeatedly? Then turn the result into 3 JTBD hypotheses worth validating first.
If you already have an idea, you can also use AI to do the first pass of narrowing:If you already have an idea, you can also use AI to do the first pass of narrowing:
text I want to build [your product idea]. Do not give me a feature list yet. Use Jobs to Be Done to help me analyze: 1. What concrete situations this product might serve 2. What core job exists in each situation 3. What alternatives already exist 4. Which job is the best starting point for an MVP, and why 5. Write the final recommendation as one clear JTBD sentence
This helps prevent the classic AI trap: jumping straight to “brainstorm 50 features” before the direction is clear.This helps prevent the classic AI trap: jumping straight to “brainstorm 50 features” before the direction is clear.
“AI summary,” “smart classification,” and “auto generation” are not jobs. They are possible solutions.“AI summary,” “smart classification,” and “auto generation” are not jobs. They are possible solutions.
“All professionals,” “all students,” and “all founders” are usually too wide. The wider it is, the harder it becomes to see a real situation.“All professionals,” “all students,” and “all founders” are usually too wide. The wider it is, the harder it becomes to see a real situation.
What people say matters, but their current workaround often reveals their priorities better.What people say matters, but their current workaround often reveals their priorities better.
JTBD works best when you focus on one important step in one concrete situation and make that part feel much better.JTBD works best when you focus on one important step in one concrete situation and make that part feel much better.
JTBD is not an AI invention, but AI can be a very helpful research assistant, organizer, and challenger. The key is this:JTBD is not an AI invention, but AI can be a very helpful research assistant, organizer, and challenger. The key is this:
use AI to organize and expand your thinking, not to invent user truth for you.use AI to organize and expand your thinking, not to invent user truth for you.
text I currently have a vague product idea: [your idea]. Do not give me a feature list yet. Use Jobs to Be Done to help me analyze: 1. What situations might this idea fit? 2. What progress might users want in each situation? 3. What current alternatives might they be using? 4. Which job feels best as an MVP starting point? Write each job as one clear JTBD sentence.
You can also write a very beginner-style input like this:You can also write a very beginner-style input like this:
text I want to build something that helps college students find internships. I can't explain it clearly yet. Help me figure out what users might actually be trying to get done.
Possible AI output:Possible AI output:
text Possible JTBD directions: 1. When I start internship applications, I want to know what I need to prepare first, so I do not keep delaying because everything feels confusing. 2. When I see a job post, I want to quickly judge whether it is worth applying to, so I do not waste energy on poor-fit roles. 3. When I am ready to apply, I want to adapt my resume to a specific role, so I can submit faster and feel more confident.
The value here is that AI helps split one fuzzy idea into several clearer directions.The value here is that AI helps split one fuzzy idea into several clearer directions.
text Below are raw notes from 5 user interviews. Do not suggest solutions yet. First organize them using JTBD: 1. What situation is the user in? 2. What event triggered action? 3. What progress are they trying to make? 4. What is the current workaround? 5. What success condition matters most? 6. What patterns repeat across users? Then summarize 3 JTBD hypotheses worth validating first.
A very simple beginner input can look like this:A very simple beginner input can look like this:
text I asked 3 people and they roughly said: 1. Every time I apply for internships, I have to redo my resume and it's annoying. 2. I mostly worry that I still don't know if it's good enough. 3. Right now I ask seniors for help, but I don't want to bother them too often. Please help me summarize the real job they are trying to get done.
Possible AI output:Possible AI output:
text Organized result: - common situation: preparing internship applications - common pain: uncertainty about whether the resume is ready enough - current workaround: asking seniors, revising manually - possible JTBD: When I am preparing to apply, I want to know whether my resume is ready enough to send, so I stop getting stuck in endless revisions.
This is useful because it turns messy quotes into something closer to a real need.This is useful because it turns messy quotes into something closer to a real need.
Before larger interview work, AI can help you do a light scan of outside information:Before larger interview work, AI can help you do a light scan of outside information:
This does not replace real user interviews, but it is a good warm-up for the Discover phase.This does not replace real user interviews, but it is a good warm-up for the Discover phase.
Simple input:Simple input:
text Please look up common pain points students mention when editing resumes and applying for internships. Focus on forums, public communities, and real user complaints. Summarize the top 5 patterns.
Possible AI output:Possible AI output:
text Top recurring pain points: 1. Not knowing what to include 2. Not knowing how to tailor a resume for different roles 3. Feeling unsure whether the resume is good enough 4. Lack of reliable feedback 5. Delaying applications because the process feels heavy
This kind of output is not final truth, but it helps you start interviews with a better map.This kind of output is not final truth, but it helps you start interviews with a better map.
Sometimes we get emotionally attached to our own ideas. AI can help by acting as a strict critic:Sometimes we get emotionally attached to our own ideas. AI can help by acting as a strict critic:
text Act as a very strict product research advisor. Here is my JTBD hypothesis: [your hypothesis] Critique it from these angles: 1. Is the situation still too broad? 2. Is this actually a feature, not a progress statement? 3. Are the alternatives too weak? 4. Is the success condition too vague? 5. What risk most needs validation?
That kind of challenge helps you see whether you are really looking at user needs or just defending your favorite solution.That kind of challenge helps you see whether you are really looking at user needs or just defending your favorite solution.
.field-figure { margin: 24px 0 32px; overflow: hidden; border: 1px solid var(--vp-c-divider); border-radius: 12px; background: var(--vp-c-bg-soft); }.field-figure { margin: 24px 0 32px; overflow: hidden; border: 1px solid var(--vp-c-divider); border-radius: 12px; background: var(--vp-c-bg-soft); }
.field-figure > a { display: block; background: #f4f4f1; }.field-figure > a { display: block; background: #f4f4f1; }
.field-figure img { display: block; width: 100%; max-height: 520px; object-fit: contain; }.field-figure img { display: block; width: 100%; max-height: 520px; object-fit: contain; }
.field-figure--narrow img { max-height: 720px; object-fit: contain; }.field-figure--narrow img { max-height: 720px; object-fit: contain; }
.field-figure figcaption { padding: 13px 16px 15px; border-top: 1px solid var(--vp-c-divider); color: var(--vp-c-text-2); font-size: 13px; line-height: 1.75; }.field-figure figcaption { padding: 13px 16px 15px; border-top: 1px solid var(--vp-c-divider); color: var(--vp-c-text-2); font-size: 13px; line-height: 1.75; }
.field-figure figcaption strong { color: var(--vp-c-text-1); }.field-figure figcaption strong { color: var(--vp-c-text-1); }
@media (max-width: 640px) { .field-figure { margin: 20px 0 28px; } }@media (max-width: 640px) { .field-figure { margin: 20px 0 28px; } }