Skip to content

Commit 12e9316

Browse files
committed
improvements
1 parent abebc53 commit 12e9316

14 files changed

Lines changed: 1110 additions & 479 deletions

File tree

exercises/01.building-an-mvp/02.problem.stakeholder-meeting/discovery-brief.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Discovery Brief
22

3-
Use this document to prepare for the stakeholder meeting in the next step.
4-
List what needs clarification before implementation begins.
3+
Use this document to prepare for the stakeholder meeting in the next step. List
4+
what needs clarification before implementation begins.
55

66
## Objective to validate
77

exercises/01.building-an-mvp/02.solution.stakeholder-meeting/discovery-brief.md

Lines changed: 111 additions & 50 deletions
Large diffs are not rendered by default.

exercises/01.building-an-mvp/02.solution.stakeholder-meeting/meeting-transcript.md

Lines changed: 78 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -3,37 +3,38 @@
33
This transcript shows one realistic path from the prepared `discovery-brief.md`
44
to the filled-out solution version.
55

6-
🐨 Kody: Thanks for meeting. I want to confirm who this MVP is for and what success
7-
looks like.
6+
🐨 Kody: Thanks for meeting. I want to confirm who this MVP is for and what
7+
success looks like.
88

99
💼 Brett: I keep hearing "MVP." What does that actually mean here?
1010

11-
🐨 Kody: It means the smallest version that proves real value. We scope down so we can
12-
learn quickly from real usage instead of spending weeks building features we may
13-
not need.
11+
🐨 Kody: It means the smallest version that proves real value. We scope down so
12+
we can learn quickly from real usage instead of spending weeks building features
13+
we may not need.
1414

1515
💼 Brett: Okay, so we're optimizing for fast learning, not feature completeness.
1616

17-
🐨 Kody: Exactly. We want the smallest version that proves value and tells us what to
18-
do next.
17+
🐨 Kody: Exactly. We want the smallest version that proves value and tells us
18+
what to do next.
1919

20-
🐨 Kody: Before we optimize MVP scope, should we build this at all? Could we buy,
21-
adopt, or defer instead?
20+
🐨 Kody: Before we optimize MVP scope, should we build this at all? Could we
21+
buy, adopt, or defer instead?
2222

23-
💼 Brett: Fair challenge. Existing polling and scheduling tools are fine for simple
24-
availability collection, but they break down for our target flow:
23+
💼 Brett: Fair challenge. Existing polling and scheduling tools are fine for
24+
simple availability collection, but they break down for our target flow:
2525
cross-organization friend groups coordinating in messy chat threads with no
2626
clear owner and no reliable "final plan" moment.
2727

28-
💼 Brett: Our advantage is not "another poll." It is a completion-first coordination
29-
loop: low-friction participation, explicit finalization, and host controls that
30-
work without forcing everyone into account creation.
28+
💼 Brett: Our advantage is not "another poll." It is a completion-first
29+
coordination loop: low-friction participation, explicit finalization, and host
30+
controls that work without forcing everyone into account creation.
3131

32-
🐨 Kody: So the justification for building is that we are targeting a specific gap
33-
existing tools do not solve well, and we can define success against that gap.
32+
🐨 Kody: So the justification for building is that we are targeting a specific
33+
gap existing tools do not solve well, and we can define success against that
34+
gap.
3435

35-
💼 Brett: Exactly. If we cannot outperform the default chat-plus-poll behavior on
36-
finalized plans, we should stop and not keep investing.
36+
💼 Brett: Exactly. If we cannot outperform the default chat-plus-poll behavior
37+
on finalized plans, we should stop and not keep investing.
3738

3839
🐨 Kody: Where are we going to draw inspiration for the user experience? Which
3940
competitors should we study directly?
@@ -62,17 +63,17 @@ form. Friendly energy, clear momentum, and no visual intimidation.
6263
💼 Brett: Color-wise, I keep picturing blues and greens because they feel calm,
6364
optimistic, and trustworthy for coordination.
6465

65-
💼 Brett: At the same time, I do not want visual noise. It should stay minimal and
66-
clean so the schedule grid and final decision stand out.
66+
💼 Brett: At the same time, I do not want visual noise. It should stay minimal
67+
and clean so the schedule grid and final decision stand out.
6768

68-
🐨 Kody: Good direction. We can tune the existing design system/theme foundation to
69-
that style instead of inventing a brand-new visual system.
69+
🐨 Kody: Good direction. We can tune the existing design system/theme foundation
70+
to that style instead of inventing a brand-new visual system.
7071

71-
🐨 Kody: Una, from your perspective, what is the most painful part of coordinating a
72-
plan today?
72+
🐨 Kody: Una, from your perspective, what is the most painful part of
73+
coordinating a plan today?
7374

74-
👤 Una: My pain is that group chats get noisy, people miss messages, and nobody knows
75-
if a plan is actually confirmed.
75+
👤 Una: My pain is that group chats get noisy, people miss messages, and nobody
76+
knows if a plan is actually confirmed.
7677

7778
🐨 Kody: What should the MVP optimize for first?
7879

@@ -84,23 +85,24 @@ whole thing feeling ready and not like a half-product.
8485
💼 Brett: I know that is probably broad, but I keep coming back to wanting it to
8586
feel real and complete so people take it seriously.
8687

87-
🐨 Kody: Helpful context. If we had to pick one outcome to prove value in the first
88-
release, which one tells us this is working?
88+
🐨 Kody: Helpful context. If we had to pick one outcome to prove value in the
89+
first release, which one tells us this is working?
8990

9091
🐨 Kody: Quick reminder: for MVP, tighter scope usually increases success
9192
because we can ship faster, reduce risk, and learn from real behavior sooner.
9293

9394
💼 Brett: If I force myself to pick one, it is finalized plans. We can get
94-
excited about poll creation, but if people still do not lock a time, we have
95-
not actually solved anything. So yes, finalized plans first.
95+
excited about poll creation, but if people still do not lock a time, we have not
96+
actually solved anything. So yes, finalized plans first.
9697

9798
🐨 Kody: Who is the first user segment?
9899

99100
💼 Brett: My default answer is everyone, because the coordination pain is
100101
everywhere. Friends, clubs, side projects, and maybe eventually company use
101102
cases too. I keep thinking bigger-market, bigger-impact.
102103

103-
🐨 Kody: For MVP, who should we optimize for first so we can measure success clearly?
104+
🐨 Kody: For MVP, who should we optimize for first so we can measure success
105+
clearly?
104106

105107
💼 Brett: For first release, friend groups coordinating social plans across
106108
different organizations and schedules. That is probably the cleanest place to
@@ -116,14 +118,14 @@ immediately.
116118

117119
🐨 Kody: Are we limiting event types in v1?
118120

119-
💼 Brett: If MVP means smallest useful slice, yes. Start with a narrow set of common
120-
social planning flows and keep the event model flexible.
121+
💼 Brett: If MVP means smallest useful slice, yes. Start with a narrow set of
122+
common social planning flows and keep the event model flexible.
121123

122124
🐨 Kody: What should count as primary success?
123125

124126
💼 Brett: I care about a lot of things at once: downloads, signups, social
125-
sharing, good brand perception, even whether people talk about it positively.
126-
So my head goes in ten directions when you ask that.
127+
sharing, good brand perception, even whether people talk about it positively. So
128+
my head goes in ten directions when you ask that.
127129

128130
🐨 Kody: Which single metric should be primary for this MVP decision?
129131

@@ -134,8 +136,8 @@ So my head goes in ten directions when you ask that.
134136
💼 Brett: Maybe social shares too, because that is a growth signal. But I know
135137
you are asking for workflow signals, not growth signals.
136138

137-
🐨 Kody: Useful later. For this workflow specifically, what secondary signals help
138-
explain finalized-plan rate?
139+
🐨 Kody: Useful later. For this workflow specifically, what secondary signals
140+
help explain finalized-plan rate?
139141

140142
💼 Brett: For workflow, poll response completion and time-to-finalized-plan.
141143

@@ -153,20 +155,21 @@ plans.
153155

154156
🐨 Kody: Where does today’s workflow fail most?
155157

156-
👤 Una: In chat threads. People respond late, availability is scattered, and then we
157-
restart planning from scratch.
158+
👤 Una: In chat threads. People respond late, availability is scattered, and
159+
then we restart planning from scratch.
158160

159161
🐨 Kody: What would make you trust this enough to use it?
160162

161-
👤 Una: Clear final confirmation and timezone-safe times. If times are ambiguous,
162-
people will go back to chat.
163+
👤 Una: Clear final confirmation and timezone-safe times. If times are
164+
ambiguous, people will go back to chat.
163165

164166
🐨 Kody: Any non-negotiables for v1 usability?
165167

166168
👤 Una: Fast response flow, clear status, easy sharing.
167169

168-
👤 Una: Also, most people in my groups will respond on their phones, not desktop.
169-
If the mobile experience is clunky, they simply will not finish availability.
170+
👤 Una: Also, most people in my groups will respond on their phones, not
171+
desktop. If the mobile experience is clunky, they simply will not finish
172+
availability.
170173

171174
🐨 Kody: Mobile usage is core for this audience. Before we lock implementation
172175
details, I want to hear the product bar from your side. Brett, what should this
@@ -176,30 +179,30 @@ feel like in real use on desktop and mobile?
176179
spreadsheet instead of poking at a form. I want slot selection to feel
177180
Excel-like.
178181

179-
💼 Brett: On mobile, I do not expect literal desktop behavior, but I do expect the
180-
same confidence. I want it to feel like Google Docs and Google Sheets on mobile:
181-
tap a cell, get the drag handle, then drag to expand or shrink the current
182-
selection.
182+
💼 Brett: On mobile, I do not expect literal desktop behavior, but I do expect
183+
the same confidence. I want it to feel like Google Docs and Google Sheets on
184+
mobile: tap a cell, get the drag handle, then drag to expand or shrink the
185+
current selection.
183186

184-
👤 Una: That maps to how people in my groups behave. If I can tap a start slot and
185-
use a handle to expand or shrink naturally, I will finish. If selection feels
186-
fiddly, I will stop.
187+
👤 Una: That maps to how people in my groups behave. If I can tap a start slot
188+
and use a handle to expand or shrink naturally, I will finish. If selection
189+
feels fiddly, I will stop.
187190

188191
🐨 Kody: That helps. On temporal scope, where do you want the MVP boundary: only
189192
business hours, or full-day support?
190193

191-
💼 Brett: Full-day support. Social plans are not 9-to-5. Also, hosts need control
192-
over precision: 15-minute, 30-minute, or 60-minute increments depending on the
193-
event.
194+
💼 Brett: Full-day support. Social plans are not 9-to-5. Also, hosts need
195+
control over precision: 15-minute, 30-minute, or 60-minute increments depending
196+
on the event.
194197

195198
🐨 Kody: Great. What should we treat as non-negotiable for timezone behavior?
196199

197-
💼 Brett: Timezone clarity is a trust issue, not a polish issue. I want canonical
198-
UTC storage under the hood, host timezone metadata persisted with the schedule,
199-
and explicit timezone context in host and attendee views.
200+
💼 Brett: Timezone clarity is a trust issue, not a polish issue. I want
201+
canonical UTC storage under the hood, host timezone metadata persisted with the
202+
schedule, and explicit timezone context in host and attendee views.
200203

201-
👤 Una: Yes. If timezone display is ambiguous, people will blame the product even
202-
if selection was easy.
204+
👤 Una: Yes. If timezone display is ambiguous, people will blame the product
205+
even if selection was easy.
203206

204207
🐨 Kody: Is a native mobile app on the table for this MVP?
205208

@@ -238,8 +241,8 @@ time slots they can do. That flow has to be very mobile friendly.
238241

239242
🐨 Kody: Any language/style guardrails we should enforce in the product copy?
240243

241-
💼 Brett: Keep everything in-world and product-real. No internal process language
242-
in the user-facing flow.
244+
💼 Brett: Keep everything in-world and product-real. No internal process
245+
language in the user-facing flow.
243246

244247
🐨 Kody: What constraints should shape scope immediately?
245248

@@ -259,19 +262,20 @@ design for future integration points, but we should not build them now.
259262
🐨 Kody: Which items are the right first deferrals without hurting the learning
260263
goal?
261264

262-
💼 Brett: Calendar sync and advanced recurring events are first to defer. They are
263-
valuable, but they are not required to validate whether people can actually
265+
💼 Brett: Calendar sync and advanced recurring events are first to defer. They
266+
are valuable, but they are not required to validate whether people can actually
264267
finalize plans through this flow.
265268

266-
🐨 Kody: From your perspectives, what is the highest-likelihood technical failure
267-
mode in this release?
269+
🐨 Kody: From your perspectives, what is the highest-likelihood technical
270+
failure mode in this release?
268271

269272
👤 Una: Poor mobile UX, easily. If participation is clunky on phones, completion
270273
drops immediately. Timezone clarity still matters, but mobile friction is the
271274
first thing that will break adoption.
272275

273-
💼 Brett: From the business side I agree. If mobile completion is weak, the funnel
274-
falls apart before we can learn anything meaningful about finalization rates.
276+
💼 Brett: From the business side I agree. If mobile completion is weak, the
277+
funnel falls apart before we can learn anything meaningful about finalization
278+
rates.
275279

276280
🐨 Kody: Biggest product risks?
277281

@@ -281,19 +285,21 @@ scope creep. Scope creep is also a risk, and that one is probably me.
281285
🐨 Kody: Mitigations we should capture now?
282286

283287
💼 Brett: Keep response flow frictionless, make mobile UX obvious, and limit v1
284-
to a narrow set of planning flows until we validate the core loop.
285-
If we can stay disciplined there, we should learn fast.
288+
to a narrow set of planning flows until we validate the core loop. If we can
289+
stay disciplined there, we should learn fast.
286290

287291
👤 Una: Please make sure key actions are thumb-friendly and obvious on mobile.
288292

289293
🐨 Kody: Can I record these as assumptions for validation?
290-
1) people will use this if it beats chat coordination,
291-
2) no-calendar-sync is acceptable in v1,
292-
3) a narrow set of social planning flows is enough to validate viability.
294+
295+
1. people will use this if it beats chat coordination,
296+
2. no-calendar-sync is acceptable in v1,
297+
3. a narrow set of social planning flows is enough to validate viability.
293298

294299
💼 Brett: That aligns with what we need.
295300

296-
👤 Una: Works for me, as long as confirmation is clear and mobile use feels easy.
301+
👤 Una: Works for me, as long as confirmation is clear and mobile use feels
302+
easy.
297303

298304
🐨 Kody: Great. I’ll update the discovery brief with confirmed scope, metrics,
299305
constraints, risks, and the validation plan.

exercises/01.building-an-mvp/03.problem.select-starter-architecture/README.mdx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,13 @@
44
starter that supports the MVP and reduces long-term risk.
55

66
🐨 Open <InlineFile file="discovery-brief.md" /> and
7-
<InlineFile file="starter-requirements.md" />.
7+
<InlineFile file="meeting-transcript.md" />.
8+
9+
Capture your meeting outcomes in a single file you create in this directory:
10+
11+
- `implementation-brief.md`: include technical requirements and risks, starter
12+
decision rationale (with alternatives considered), and the initial technical
13+
plan for the next implementation step
814

915
In this step, focus on technical requirements first:
1016

0 commit comments

Comments
 (0)