Skip to content

Commit c853422

Browse files
committed
refactor(statsbomb): add context for external readers (Omar feedback)
Implement minimal changes to address Omar Negm's feedback about missing definitions for external readers: 1. Origins opening (lines 70-72): Added foundational context - Define "collectors" as human soccer analysts - Establish StatsBomb (Arqam) and sport (soccer) - Explain core work (video → structured data) - Add "Early days," temporal marker for smooth transition 2. Dartfish mention (line 378): Added "video analysis tool" phrase - 5 words clarify Dartfish = competing software - Natural flow maintained Impact: - ~44 words added total (minimal) - All 47 "collector" mentions preserved (authentic terminology) - Story arc intact (Hassan's changes untouched) - External readers get foundation without disruption - Progressive disclosure: company context → early rhythm → evolution Decision rationale: - Keep "collectors" vs "soccer analysts" (domain authenticity > external clarity) - Define once in Origins, use consistently throughout (zero replacements) - Front-load context early (lines 70-72) vs TLDR rewrite (scope creep) Related: docs/feedback/omar-negm.md (original feedback) Design doc: docs/plans/2025-11-02-omar-feedback-context.md
1 parent 31aff92 commit c853422

File tree

2 files changed

+138
-2
lines changed

2 files changed

+138
-2
lines changed
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
# Omar Feedback: Adding Context for External Readers
2+
3+
**Date:** 2025-11-02
4+
**Status:** Approved
5+
**Confidence:** 90% (minimal changes, story arc preserved)
6+
7+
## Problem
8+
9+
Omar Negm (backend engineer from StatsBomb) reviewed the case study and identified 4 missing definitions that block external reader comprehension:
10+
11+
1. **"Collector"** - Used 47 times but never defined. External readers don't know if collectors are automated systems, software agents, or human analysts.
12+
2. **Sport** - Soccer only implied through photo captions, never explicitly stated.
13+
3. **Dartfish** - Mentioned as comparison but never defined as the incumbent video analysis tool.
14+
4. **TLDR assumes domain expertise** - References StatsBomb, Hudl, collectors, broadcaster scale without establishing foundation.
15+
16+
**Core Issue:** Case study written for domain experts, not external readers.
17+
18+
## Decision: Define Once, Use Consistently
19+
20+
**Approach:** Keep "collectors" as authentic domain terminology (all 47 mentions stay). Add minimal context at strategic points:
21+
22+
1. **Subtitle (Line 40):** KEEP "collectors" - creates intrigue, definition follows shortly
23+
2. **Origins opening (Lines 68-70):** ADD 2 sentences defining collectors + StatsBomb (Arqam)
24+
3. **Dartfish mention (Line 375):** ADD "video analysis tool" phrase
25+
26+
**Why This Works:**
27+
- Preserves authentic terminology (collectors = what StatsBomb actually calls them)
28+
- Front-loads context in Origins section (readers learn foundation early)
29+
- Minimal word count (~40 words added)
30+
- Zero disruption to existing story arc (Hassan's changes remain intact)
31+
- Progressive disclosure (subtitle → Origins definition → natural usage)
32+
33+
## Implementation
34+
35+
### Change 1: Origins Section Opening (Lines 68-70)
36+
37+
**Before:**
38+
```
39+
Origins: Week One Partnership
40+
41+
We shipped twice daily. Every morning, I'd push a new build of the FreezeFrame tool—replacing Dartfish's 12-minute manual clicking with computer vision-assisted positioning. By afternoon, collectors would test it during matches.
42+
```
43+
44+
**After:**
45+
```
46+
Origins: Week One Partnership
47+
48+
StatsBomb (Arqam) employed hundreds of soccer analysts—called collectors—who manually tracked every pass, shot, tackle, and positioning during live matches. Video analysis, frame by frame, translated into structured data for professional teams.
49+
50+
Early days, we shipped twice daily. Every morning, I'd push a new build of the FreezeFrame tool—replacing Dartfish's 12-minute manual clicking with computer vision-assisted positioning. By afternoon, collectors would test it during matches.
51+
```
52+
53+
**Impact:**
54+
- Defines "collectors" as human soccer analysts
55+
- Establishes sport (soccer) and entity (StatsBomb/Arqam)
56+
- Explains core work (manual video → structured data)
57+
- "Early days," provides temporal grounding (week one iteration rhythm)
58+
- Flows naturally into personal narrative with smooth transition
59+
60+
### Change 2: Dartfish Context (Line 375)
61+
62+
**Before:**
63+
```
64+
The industry standard (Dartfish) forced button-heavy mouse clicks...
65+
```
66+
67+
**After:**
68+
```
69+
The industry-standard video analysis tool (Dartfish) forced button-heavy mouse clicks...
70+
```
71+
72+
**Impact:**
73+
- 5 words added: "video analysis tool"
74+
- External readers understand Dartfish = competing software
75+
- Natural flow maintained
76+
77+
### Change 3: Subtitle (Line 40)
78+
79+
**Decision:** KEEP AS IS
80+
```
81+
2018-2022: What if 1000 collectors could work concurrently without choosing between speed and correctness?
82+
```
83+
84+
**Rationale:**
85+
- Creates intrigue
86+
- Definition comes 28 lines later in Origins
87+
- Changing to "soccer analysts" would require replacing all 47 "collector" mentions
88+
- Authentic terminology > external clarity in subtitle
89+
90+
## Alternatives Considered
91+
92+
### Alternative 1: Replace "collector" everywhere with "soccer analysts"
93+
- **Rejected:** 47 instance changes, loses authentic terminology, feels unnatural
94+
- **Trade-off:** External clarity vs. domain authenticity (chose authenticity)
95+
96+
### Alternative 2: Inline parentheticals at first use
97+
- **Rejected:** "collectors (human analysts tracking passes, shots, tackles)" feels clunky
98+
- **Trade-off:** Brevity vs. natural flow (chose natural flow)
99+
100+
### Alternative 3: Rewrite TLDR with full context
101+
- **Rejected:** Scope creep, breaks minimalism constraint
102+
- **Trade-off:** Complete context layer vs. surgical fixes (chose surgical)
103+
104+
## Reversibility
105+
106+
**Type:** 2A (< 1 minute rollback)
107+
- 2 text additions, easily reverted
108+
- No architectural changes
109+
- Git revert straightforward
110+
111+
## Success Criteria
112+
113+
- [ ] External readers (non-sports-tech background) understand "collector" role by end of Origins section
114+
- [ ] Story arc remains intact (Origins → Problem → Witnessing → Architecture → Epilogue)
115+
- [ ] Word count increase < 50 words
116+
- [ ] No changes to existing 47 "collector" mentions
117+
118+
## Key Assumptions
119+
120+
1. Origins section (line 68) is early enough to define collectors before confusion sets in
121+
2. Readers tolerate 28 lines of "collector" usage before explicit definition
122+
3. "StatsBomb (Arqam)" format communicates Egyptian entity without disruption
123+
124+
## Applied Patterns
125+
126+
- **Progressive Disclosure:** Subtitle (intrigue) → Origins (foundation) → Usage (natural)
127+
- **Minimal Viable Context:** Define once, use consistently
128+
- **YAGNI:** Rejected TLDR rewrite and full context layer (unnecessary scope)
129+
- **Domain Authenticity:** Kept "collectors" over "soccer analysts" (respect actual terminology)
130+
131+
## Related Documents
132+
133+
- `docs/feedback/omar-negm.md` - Original feedback from Omar
134+
- `docs/feedback/hassan.md` - Hassan's feedback (already implemented, story arc intact)

src/pages/portfolio/statsbomb.mdx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,9 @@ import { MoveRight } from "@lucide/astro";
6767

6868
<Section spacing="compact" id="origins" titleLevel={3} title="Origins: Week One Partnership">
6969

70-
We shipped twice daily. Every morning, I'd push a new build of the FreezeFrame tool—replacing Dartfish's 12-minute manual clicking with computer vision-assisted positioning. By afternoon, collectors would test it during matches. By evening, I'd see their feedback in Slack.
70+
StatsBomb (Arqam) employed hundreds of soccer analysts—called collectors—who manually tracked every pass, shot, tackle, and positioning during live matches. Video analysis, frame by frame, translated into structured data for professional teams.
71+
72+
Early days, we shipped twice daily. Every morning, I'd push a new build of the FreezeFrame tool—replacing Dartfish's 12-minute manual clicking with computer vision-assisted positioning. By afternoon, collectors would test it during matches. By evening, I'd see their feedback in Slack.
7173

7274
_"This saved me 9 minutes per frame."_
7375
_"My hand doesn't cramp anymore."_
@@ -373,7 +375,7 @@ Without DSLs, every new rule required engineering deploys. With DSLs, product ma
373375

374376
Remember the 2am Test? World Cup extra time, exhausted collectors, keyboard glitches, WebSocket drops. Those failures taught us: when humans are depleted, tools must guide them.
375377

376-
The industry standard (Dartfish) forced button-heavy mouse clicks with rigid keyboard shortcuts—50+ event types mapped to 40 keys, memorized regardless of context.
378+
The industry-standard video analysis tool (Dartfish) forced button-heavy mouse clicks with rigid keyboard shortcuts—50+ event types mapped to 40 keys, memorized regardless of context.
377379

378380
We built context-aware: press 'P' for pass, the system knew valid pass types for that player's position. One option remaining? Auto-filled and advanced. Collectors touch-typed like Vim users. Eyes on video, hands on keyboard.
379381

0 commit comments

Comments
 (0)