Skip to content

Commit 47c042d

Browse files
saadshahdclaude
andauthored
Hassan feedback documentation (#5)
* docs(feedback): add Hassan feedback on StatsBomb case study Document feedback from Hassan (senior engineer at StatsBomb) on three key areas: 1. Name attribution: Consider using job titles instead of specific names 2. "Saying thank you" tone: Replace gratitude framing with impact/trust - Current feels performative vs. showing tangible outcomes - Alternatives: "seeing actual impact", "constructive feedback loops" 3. Two-merge bottleneck unclear: Need concrete workflow example - If former team member finds it unclear, external readers will too - Action: Add step-by-step scenario with specific collector dialogue Includes proposed rewrites for gratitude section (line 76) and concrete two-merge workflow example to clarify bottleneck mechanics. * refactor(statsbomb): apply Hassan feedback on tone and clarity Implement 2 of 3 feedback points from Hassan (senior engineer): 1. Name attribution: KEEP NAMES (disagree with feedback) - Reasoning: Credits individuals, humanizes story, shows partnership - Aligns with CLAUDE.md collaborative framing principle 2. Gratitude → Partnership reframe (line 76): IMPLEMENTED - Before: "collector gratitude...saying thank you" (performative) - After: "feedback loop...shaping the tool directly" (genuine partnership) - Shows trust and impact vs. emotional validation 3. Two-merge bottleneck clarity (lines 148-154): IMPLEMENTED - Added explicit post-processing gap between merges - Text now stands alone without requiring diagram - Explains: Merge 1 → 4h post-processing → Merge 2 (two divergence points) Text principle: Diagrams are supporting proof (like sketches), not required reading. If Hassan (former team member) found it unclear, external readers definitely would. * refactor(statsbomb): clarify two-merge bottleneck with accurate pairing workflow Tighten from 155 words to 85 words (-45%) while increasing accuracy. Before: Implied two sequential merges with post-processing between them After: Accurate workflow - pairing (same event, different perspectives + imperfect timestamps) → validate chains → enrich (location, freeze frames) Key insight: Collectors logged same moment from different team perspectives (foul-committed vs foul-won) with human timing imprecision. Pairing cost came from matching which events describe the same thing. Story flows without bold headers breaking narrative arc. --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent b76130c commit 47c042d

2 files changed

Lines changed: 105 additions & 2 deletions

File tree

docs/feedback/hassan.md

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
# Hassan Feedback - 2025-11-02
2+
3+
**Context:** Senior engineer who worked briefly at StatsBomb reviewing the case study
4+
5+
## Key Points
6+
7+
### 1. Name Attribution vs. Job Titles
8+
- **Problem:** Case study mentions specific names throughout (Ali, Adham, Waheed, Hadeel, Abdallah, etc.)
9+
- **Feedback:** Use job titles instead of names
10+
- **Impact:** May feel too personal or create privacy concerns
11+
- **Tension:** Conflicts with narrative style of crediting individuals for their contributions
12+
- **Current Approach:** "Ali and I sat with VSCode open", "Waheed built claims-based metadata", "Adham advocated for Kafka"
13+
14+
### 2. "Saying Thank You" Feels Performative
15+
- **Problem (line 76):** "That feeling—collector gratitude—became the foundation for everything we built over four years. Not from management validation or product roadmaps, but from the people doing the actual work saying 'thank you.'"
16+
- **Feedback:** "Very cringe when you say 'saying thank you'"
17+
- **Alternative Suggestions:**
18+
- "Seeing actual impact"
19+
- "Constructive feedback"
20+
- "They trusted that the feedback will make a change"
21+
- **Why:** Focus on tangible outcomes and trust rather than emotional validation
22+
- **Core Issue:** Gratitude sounds self-congratulatory vs. showing actual collector impact
23+
24+
### 3. Two-Merge Bottleneck Unclear
25+
- **Problem:** Section at lines 140-149 and diagram at lines 173-210
26+
- **Feedback:** "The two-merge bottleneck is not clear to me"
27+
- **Current Explanation:**
28+
- First merge: Align on what events happened during collection
29+
- Second merge: Reconcile how events were validated, positioned, and tagged
30+
- **Impact:** If a former team member finds it unclear, external readers definitely will
31+
- **Missing:** Step-by-step walkthrough of why two merges were necessary
32+
33+
## Decision
34+
35+
**Point #1 (Names vs. Job Titles):** **KEEP NAMES** - Disagree with Hassan's feedback
36+
- Reasoning: Credits individuals for their work, humanizes the story, shows genuine partnership
37+
- Aligns with CLAUDE.md "Collaborative framing — Team credit, not individual genius"
38+
- No action taken
39+
40+
**Point #2 (Gratitude → Partnership):** **AGREE** - Implement feedback loop framing
41+
- Action: Rewrite line 76 to show genuine collector partnership vs. self-congratulatory tone
42+
43+
**Point #3 (Two-Merge Bottleneck):** **AGREE** - Text must stand alone without diagram
44+
- Action: Clarify workflow with explicit post-processing gap between merges
45+
- Principle: Diagrams are supporting proof (like sketches), text should be self-sufficient
46+
47+
## Action Items
48+
49+
- [x] **Decision made:** Keep names for narrative credit (disagree with point #1)
50+
- [ ] Rewrite line 76 to focus on feedback loops instead of "saying thank you"
51+
- [ ] Clarify two-merge bottleneck by explaining post-processing gap between merges
52+
- [ ] Ensure text stands alone without requiring diagram for comprehension
53+
54+
## Proposed Rewrites
55+
56+
### Before (line 76):
57+
> "That feeling—collector gratitude—became the foundation for everything we built over four years. Not from management validation or product roadmaps, but from the people doing the actual work saying 'thank you.' When you ship for people who thank you, architecture stops being abstract."
58+
59+
### After (Option 1 - Impact Focus):
60+
> "That feedback loop—seeing collectors save 9 minutes per frame, watching hands stop cramping—became the foundation for everything we built over four years. Not from management validation or product roadmaps, but from the people doing the actual work telling us what mattered. When you ship for people who trust their feedback will shape the tool, architecture stops being abstract."
61+
62+
### After (Option 2 - Trust Focus):
63+
> "That trust—collectors believing their feedback would directly change the tool—became the foundation for everything we built over four years. Not from management validation or product roadmaps, but from the people doing the actual work showing us what slowed them down. When you ship for people who see their input reflected in the next build, architecture stops being abstract."
64+
65+
## Two-Merge Bottleneck Clarification
66+
67+
**Add Concrete Example (after line 149):**
68+
69+
> **Why Two Merges?**
70+
>
71+
> **First Merge (Event Agreement):**
72+
> - Collector A: "That's a recovery at 23:45"
73+
> - Collector B: "That's an interception at 23:45"
74+
> - Merge question: What actually happened?
75+
>
76+
> **Post-Processing (4 hours each):**
77+
> - Both collectors add positioning data, freeze frames, validation tags
78+
> - Different interpretations lead to different enrichments
79+
>
80+
> **Second Merge (Enrichment Agreement):**
81+
> - Same event, now with conflicting metadata
82+
> - Merge question: How should this event be tagged/positioned?
83+
>
84+
> The tool allowed ambiguous interpretations during collection. Collectors paid the cost afterward in two separate reconciliation phases.
85+
86+
## Writing Philosophy Considerations
87+
88+
**Name Attribution Trade-off:**
89+
- **Pro (keeping names):** Credits individuals for their work, humanizes the story, follows "team attribution" pattern from CLAUDE.md
90+
- **Con (removing names):** More professional, privacy-conscious, focuses on roles over individuals
91+
- **Decision needed:** This is a philosophical choice about narrative style
92+
93+
**Gratitude vs. Impact:**
94+
- **Problem:** "Thank you" feels self-serving
95+
- **Solution:** Reframe around trust, feedback loops, and measurable impact
96+
- **Pattern:** Show → don't tell (9 minutes saved > "they thanked me")
97+
98+
**Technical Clarity:**
99+
- **Lesson:** If someone who worked on the project finds it unclear, external readers definitely will
100+
- **Fix:** Add concrete examples with specific dialogue/scenarios
101+
- **Principle:** Abstract concepts need concrete instantiation

src/pages/portfolio/statsbomb.mdx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ _"This saved me 9 minutes per frame."_
7373
_"My hand doesn't cramp anymore."_
7474
_"Eyes stay on video, not the mouse."_
7575

76-
That feeling—collector gratitude—became the foundation for everything we built over four years. Not from management validation or product roadmaps, but from the people doing the actual work saying "thank you." When you ship for people who thank you, architecture stops being abstract.
76+
That feedback loop—collectors telling us what slowed them down, seeing it fixed the next day—became the foundation for everything we built over four years. Not from management validation or product roadmaps, but from the people doing the actual work shaping the tool directly. When you ship for people who trust their feedback will change tomorrow's build, architecture stops being abstract.
7777

7878
**The Partnership: Domain Expertise Meets Systems Thinking**
7979

@@ -145,7 +145,9 @@ Two collectors, same match. Hours after the final whistle, they're still arguing
145145
"No, interception—he anticipated the pass."
146146
"But possession hadn't transferred yet."
147147

148-
Collectors spent 2 hours post-match reconciling across two merge points. First merge: align on what events happened during collection. Second merge: reconcile how those events were validated, positioned, and tagged. The tool allowed ambiguous interpretations during the match. Collectors paid the cost afterward.
148+
Same foul—collector A logs "foul-committed, 0.01s." Collector B logs "foul-won, 0.011s." Same moment, different perspectives, imperfect timestamps. Hours spent pairing: which events describe the same thing? Then validate chains. Then location, freeze frames.
149+
150+
The tool allowed perspective-based collection. Collectors paid the pairing cost afterward.
149151

150152
{/* Workflow Comparison: Before vs. After */}
151153

0 commit comments

Comments
 (0)