E.F AI Product Design Thinking
AI product design starts with the user problem, not the model capability. A feature is worth building only when value, cost, risk, and user experience can be explained.
See the Decision Loop First


The first product habit is to make trade-offs explicit before implementation starts.
Run a Tiny Prioritization Score
ideas = [
{"name": "AI Tutor", "value": 9, "cost": 6, "risk": 4, "ux": 8},
{"name": "AI Customer Service", "value": 8, "cost": 5, "risk": 5, "ux": 7},
{"name": "AI Code Review", "value": 7, "cost": 4, "risk": 6, "ux": 6},
{"name": "AI Medical Diagnosis", "value": 9, "cost": 8, "risk": 9, "ux": 5},
]
def score(item):
return round(
item["value"] * 0.45
+ (10 - item["cost"]) * 0.2
+ (10 - item["risk"]) * 0.2
+ item["ux"] * 0.15,
2,
)
def decision(item):
if item["risk"] >= 8:
return "do_not_launch"
return "pilot" if item["score"] >= 6 else "wait"
ranked = sorted(({**item, "score": score(item)} for item in ideas), key=lambda item: item["score"], reverse=True)
for item in ranked:
print(item["name"], "score=", item["score"], "decision=", decision(item))
Expected output:
AI Tutor score= 7.25 decision= pilot
AI Customer Service score= 6.65 decision= pilot
AI Code Review score= 6.05 decision= pilot
AI Medical Diagnosis score= 5.4 decision= do_not_launch
The numbers are not final truth. They force you to say what you are optimizing for and where launch should be blocked.
Product Checklist
| Question | Good Answer |
|---|---|
| Who is stuck? | A specific user group and task |
| What improves? | Completion rate, time saved, quality, or cost |
| What can go wrong? | Risk boundary and human fallback |
| What proves progress? | A metric or user test result |
Pass Check
You pass this elective when you can score one AI feature idea, explain the trade-off, define a success metric, and name one condition where the feature should not launch.