Research, design & making · 6 pages · Select “View at 100%” to read the finer details.
01
PIT WINDOW
Robotics · interaction design A test-log and match-strategy tool
Not a team-management system: Pit Window solves one real problem — the minutes before a match, when faults, opponents, strategy and the clock crowd everyone’s heads. It turns months of test traces into one window: enter a match or team number, and only the latest relevant strategies, faults and checks remain. At 8115X I ran match strategy, drive coaching and scouting; here I did the product logic, interaction, UI and code.
pitwindow.app/prematch?opp=22020X
Pre-match
Pit Window
Dashboard
Pre-match
Test log
Test detail
Robot versions
Strategy branches
Post-match
8115X · KristinD4 · 2025-26 Push Back
Pre-matchvs 22020X
Only the strategies, faults and checks that matter for this match
Match in
08:24
Q18 · red Field A
22020X4 meetings · 1W 3LLast: #8 Q27 won 73:27Version D411 records matched
Strategies2
A · Win auton, then hold the zone
Strategy 3: “Win auton, secure the match” p108
Auton tests 82% p77Only win vs 22020X
B · 7-ball wing auton + late double park
Route p105 · double park 30 pts p14
Fallback: switch if they rush the centre
Known faultsD4
Wing triggers an SG10 call
#7 final DQ → now mounted upright p113
Slow scoring at 7–8 balls, ~3 s
Mesh roller 4/5 pass p116 · p133
Intake jams now and then
AntiJam live · 5/5 pass p151
Centre double roller 0/5
Back to pneumatic p129
Checklist4 / 6
✓Battery full (failed once on low charge)
✓AntiJam code on
✓Distance-sensor reset test
✓Wings folded upright (SG10)
Size check 18″
Spare Brain and parts packed
Decision: strategy A · win auton first
Based on 11 records · 1W 3L vs 22020X · auton tests 82%
Lock and send to driver
9:415G
For the driver · Q18 · red
Strategy A · win auton first
Auton route Solo AWP · p104
Auton 15 s
3 balls into the first long goal
Driver 0–45 s
Take the control zone first
No rush to fill the goals
45–90 s
Hold long goals, top up centre
They rush centre → switch to B
Last 15 s
Double park +30
Note controller buzz = jam. AntiJam reverses for 0.1 s by itself; don’t mash the button
Read · go
1
2
3
4
5
1
Enter the opponent 22020X: 4 meetings, 1W 3L, one final lost to a DQ
2
Just 2 strategies Each with evidence: test data and notebook pages
3
Faults for this version Only what can still go wrong on D4
4
Pre-match checklist Built from past mistakes: battery, SG10, size
5
Handoff card to the phone The driver sees 4 steps + 1 warning
Photo: the pit at the Palmerston North regional, 30 Nov 2024 High-fidelity prototype; records from the 8115X notebooks; Q18 is a demo match
02WHY THE RECORDS FAIL AT THE PIT
Context & Insight
Three seasons, four robot generations, hundreds of test records. The problem was never a lack of records — it was not finding them before the match.
From the garage to Worldsteam timeline · 2023 – 2026
2023.10
Team 61105A forms
Led by an older student, three of us start VEX IQ in Auckland
2023.12
A U.S. Open place
Declined: we wanted to earn it with a robot of our own
2024.01
Asia Open · Signature
First international field; Second Honor and Amaze Award
2024.08
Independent as 8115X
Garage field, no coach, named for Kristin School; on to V5
2024.11
First win, then a rebuild
Palmerston North final 19:3; arm too short, clamp unstable → rebuilt
2025.02
NZ National Champions
Unbeaten · Tournament Champion · Amaze Award · 2nd in Skills
2025.05
VEX Worlds · Dallas
Own sponsors, team kit and booth; division top 16
2025.06 – 26.02
Push Back season
Four designs; Auckland event 6–0 in qualifiers, 85:17 in the final
Eight minutes before a matchthe pit-window moment
Only 8 min
Strategy
Plan A or B?
Opponent
How do they play?
Faults
Really fixed?
Rules
Any penalty risk?
Missed call
Strategy
Last ~50 s of a semi-final: the team split between safe and aggressive — “they were faster than we thought.”24-25 p51
Opponent
Four matches against 22020X, three lost. The results table has the scores, not one line on how they played.25-26 p78–115
Faults
The double-roller centre goal went 0/5, so back to the old design; jams lasted until AntiJam was written before Nationals.p129 · p151
Rules
Passed size inspection a week earlier, failed it this time; no spares or spare Brain at the first regional.24-25 p59 · p31
KEY INSIGHT
The pit doesn’t lack data — it lacks a filter. The value is in showing less, not recording more.
Who uses itroles · from the 2025-26 notebook role table
Roles from the notebook’s role table (p7); needs inferred from team experience, not formal interviews
My role
Strategist
MATCH STRATEGY · ALLIANCE COACH
Once the match number is out: how the opponent plays, our record against them, which strategy to run.
By opponentWith evidence
Driver
DRIVER · PROGRAMMER
No time for long documents: which auton route, when to switch, what to press when something goes wrong.
Handoff cardBig timeline
Coach & scout
DRIVE COACH · SCOUT
Watches the opponent and the clock; after the match, logs how they played so it can be found next time.
Opponent tagsOne-line debrief
Builder
BUILDER · NOTEBOOK
Needs to know which version and which test a fault showed up in, and how it was fixed last time.
Issue → versionPhotos + specs
Pain points → opportunitiesevidence from the engineering notebooks
Pain point
Evidence in the notebooks
What Pit Window does
Records kept by date
Dates run out of order (25-26 p62 says 11/09, the next page 12/08); many pages are copy-pasted; the results table holds only scores.
→
Test log: every record tagged by opponent / version / fault
“Fixed” — in which version?
Four robot generations in one season, 17 decision matrices in two notebooks; the double-roller centre goal went 0/5 and was swapped back to pneumatics (p126–129).
→
Robot versions: one metric side by side per version; every issue links a test and a version
No pre-match checklist
First regional: no game objects, spares or spare Brain, screws not rechecked (p31); passed size inspection a week earlier, failed this time (p59).
→
Pre-match: a checklist built from the current version and past mistakes
Slower calls than the opponent
Still arguing in the last ~50 s of a semi-final (p51–52); rule and play changes noticed only after losing (25-26 p108, p123).
→
Strategy branches with triggers set in advance; a one-screen handoff card
03TWO ENGINEERING NOTEBOOKS · 2024 – 2026
Evidence: Months of Test Traces
Everything here comes from 8115X’s two engineering notebooks (94 + 155 pages). Every iteration was already a problem → test → fix record.
2024-25 High Stakes · four key iterationsiteration cases · 2024-25 notebook
Every number on these cards is from the notebook; page references are marked
Drivetrainspeed vs torquev1 → v2
ProblemIt has to push mobile goals and still be quick — speed or torque?
TestThree drivetrain set-ups scored on six weighted criteria. p15–18
FixDT2: 48:60, 1.25× torque; after the first event, 2.75″ wheels and every motor laid flat. p34
Decision matrix · weighted score
→ issue #03 drivetrain · v1→v2 tags: ratio / wheels
Goal clampangle · airv1 → v2
Old
New
ProblemOnce clamped, the goal’s angle wandered and rings missed it; a misaligned grab failed. p39–41
TestOld and new clamp, 10 grabs each, air use logged every time. p43
FixTwo contact points (groove + lip), cylinder moved to the back, first-class lever changed to third-class.
Air per grab (PSI) · 10 trials
→ issue #07 clamp · v1→v2 tags: angle / air
Intakering jamsv1 → v2
Gap
Gap closed
ProblemA gap between the flex wheels caught rings, and the intake’s side plates wobbled. p33 · p44
AnalysisDrew the gap, marking where rings jam and which way the plates move. p45
FixClosed the gap; polycarbonate side plates swapped for aluminium angle, plus acrylic braces and a ring guide. p46
The gap sketch in the notebook
→ issue #12 intake · v1→v2 tags: jams / wobble
Conveyor hookhook heightv1 → v2
Old / new
ProblemThe conveyor hooks fed rings unreliably; many never caught. p27–28
Won one, lost three. All 38 scores are in the notebook, yet not one line on how 22020X plays. Pit Window adds no data — it re-indexes the same records by opponent.
04SYSTEM & INFORMATION ARCHITECTURE
System Design
Five tables, one rule: every issue links one test and one version. Node.js + Express with SQLite is enough — a single file that works in the pit with no Wi-Fi.
Data model5 tables
Example values are real notebook records
matchmatches
idPK
code#8 · Q27
opponent22020X
score73 : 27
fieldField A
branch_idFK
strategy_branchplans
idPK
nameStrategy A
triggerwin auton first
evidencep77 · p108
win_loss1 – 3
updated_byMaique
test_logtests
idPK
date2026-02-18
taskAntiJam · 8 balls
resultP P P P P
pagep152
version_idFK
issuefaults
idPK
typejam / penalty …
severityhigh · med · low
test_idFK
version_idFK
match_idFK · nullable
robot_versionversions
idPK
nameD1 – D4
period12-05 → 02-18
paramsAntiJam 2400
replaced_whywhy replaced
photorobot photo
Why split it this way: in the notebook, “fixed” is where things go wrong, because it never says which version. An issue links both a test_log and a robot_version, so before a match you can ask “does this fault still happen on D4?” New problems from the debrief attach to the match and resurface the next time we meet that opponent.
One real record, end to endantijam · 2026-02-18
p151 – 152
AntiJam code · p151
1
Test · test_log
Intake scores 8 balls in a row × 5 runs → P P P P P, linked to D4
2
Fault · issue
“Intake sometimes jams” → fix: reverse 100 ms when speed < 30% for 300 ms
3
Version · robot_version
D4 parameters record detectionThreshold 2400, cooldown 1000 ms
4
Pre-match
The checklist now shows “AntiJam code on” by itself
5
Handoff card
The driver sees: “Buzz = jam. AntiJam reverses by itself — don’t mash buttons”
Tech stackkept simple
Front end
HTML / JS (React optional)
No framework for show; the work is in the information architecture and speed at the venue
Back end
Node.js + Express
/log /issue /version /match /branch /prematch
Database
SQLite
One file that travels with the laptop; works offline
Devices
Laptop + phone
Desktop for logging and debriefs; phone for pre-match and handoff
Pre-match logicone query
1Input22020X or match Q18
2Matchmatch.opponent · match.code
3FilterCurrent version D4 + this season only
4SortRecord vs opponent → fault severity → recency
5Output2 strategies · 4 faults · 6 checks
More filters if time allows: fault type · field · version · opponent style
Service blueprint: record to decision6 stages
Using the AntiJam and 22020X cases from page 3
1 Test
2 Log
3 Link
4 Find
5 Decide
6 Debrief
UserACTIONS
Five scoring runs in the garage
Logs PPPPP on the phone in 30 s
Picks D4, adds a photo of the code
Types 22020X before the match
Locks strategy A for the driver
Adds a one-line debrief
TouchpointWHERE
Field · robot
Phone · quick log
Phone · version tag
Web · pre-match
Phone · handoff card
Web · post-match
DataSTORED
—
test_log
issue → version
match + branch
strategy_branch
issue · match.score
BackstageSYSTEM
—
POST /log
FK check test_id · version_id
GET /prematch?opp=
push handoff card
update win–loss
BeforeTHE BREAK
Notes by date, written up after testing
Results table: scores only
Fixed in which version?
Lost in 249 pages
Still arguing in the last 50 s
Never written back
6
Step 6, the debrief, writes results back to the issue and the match, so the next pre-match screen can use them. This loop is the heart of the tool, and the one thing a paper notebook can’t do.
05FOUR SCREENS ON THE PIT LAPTOP
Desktop App
The laptop lives in the pit: log, compare, plan, review. Every record on these screens comes from the 8115X notebooks, with its page number kept.
Five runs shown cell by cell, with the failure reason on the same row
The notebook page stays on every record, one step from the original
2Robot versionscompareFour robots in one season
pitwindow.app/versions
Pit Window
Dashboard
Pre-match
Test log
Test detail
Robot versions
Strategy branches
Post-match
8115X · KristinD4 · 2025-26 Push Back
Robot versionsD1 – D4
One set of metrics, four robots side by side
Export table
D1 early bot
06-01 → 08-05
Record did not compete
Storage 4–5 balls max
Replaced: too slow for fast loading
D2 under goal
08-10 → 09-20
Record 12W 6L · #6 #10
Loading ~5 balls per load
Replaced: auton needs a 180° turn
D3 front to back
09-13 → 11-22
Record 17W 3L · #7 #8
Sweep ≥ 6 balls, 5/5
Replaced: 3 s lag at 7–8 balls
D4 Nationals
12-05 → 02-18
Record before Nationals
Anti-jam AntiJam 5/5
Current version
Bar = match win rate for that version; D4 bar = pass rate of the five pre-Nationals tests
Same metrics side by side dates · record · key test
Every version states why it was replaced
Records are tallied per version from the match table
3Strategy branchesplanOpponent: 22020X
pitwindow.app/branches?opp=22020X
Pit Window
Dashboard
Pre-match
Test log
Test detail
Robot versions
Strategy branches
Post-match
8115X · KristinD4 · 2025-26 Push Back
Strategy branchesvs 22020X
Each branch states its trigger, its evidence and past results
vs 22020X: 1W 3L
Start
22020X in the other alliance
Our auton reliable?
yes → win auton first
They rush the centre?
yes → switch to the wing
Behind at 30 s left?
yes → all-in on parking
A · win auton, hold the zone
auton tests 82% p77 · won 73:27
B · 7-ball wing auton + park
route p105 · park 30 pts p14
C · hold long goals + park
zone 10 pts · park 30 pts p14
Branch A · evidence
· 10+ hours of auton testing, long goal 82% p77
· Loading success 95% p77
· #8 Q27 vs 22020X 73:27 (our only win)
Source: Strategy 3 · 2025-11-05 p108
Start → 3 triggers → 3 branches
Every branch carries evidence: test data + past meetings
Side panel: branch A’s route and source pages
4Post-matchreviewAuckland #7 · D3 · 8W 3L
pitwindow.app/review/auckland-7
Pit Window
Dashboard
Pre-match
Test log
Test detail
Robot versions
Strategy branches
Post-match
8115X · KristinD4 · 2025-26 Push Back
Post-matchAuckland #7
Auckland V5RC #7 · D3 · qualifiers 6W 2L, DQ in the final
Write back to log
Scores at this event11 matches
8115X allianceOpponents
New issues → test log
1
Final DQ: tied to an SG10 wing call
Issue created · linked to the #7 final · wing now mounted upright p113
2
Auton self-rating only 7/10
Added to next week’s test plan p107
3
22020C’s vertical sweeper hook
Saved to the opponent file as a design reference p107
Synced to
Checklist +1Test plan +1Opponent file +1D3 version log
One-line debrief
“Ranked higher than last event, but DQ’d in the final over the wing. Before the next match, the wing position goes on the checklist.”
Scores: us vs them, 11 matches
One click turns a new problem into an issue linked to the match
The one-line debrief feeds the checklist: back to step 1
06THE PHONE, THE TEST PLAN, WHAT I LEARNED
Mobile · Validation · Reflection
At the venue, the phone is what is actually in your hand. Last step: put it in front of my VEX teammates and school robotics students and watch them use it.
Five key phone screensmobile
The 8-minute path: home → checklist → handoff; the rest of the time: report faults, look up history
9:415G
Good afternoon, Maique
Auckland V5RC · 4 matches left today
Next: Q18 · red · vs 22020X
08:24
Open pre-match
Log a test
in 30 seconds
Report a fault
photo + tags
History
by opponent / version
Checklist
4 / 6 done
Recent
AntiJam · 8 balls
02-18 · P P P P P
D4
Loader · 6 balls
02-18 · P P P P P
D4
Distance-sensor reset
02-02 · P P P P P
D4
Home
Log
Pre-match
Review
9:415G
Report a fault
Auto-linked: test 01-12 · version D4
Photo 1 / 2
Fault type
JamPenaltyDriftStructure
Where
Centre goal · double-roller scoring
Version
D4 Nationals (auto-filled)
Severity
HighMedLow
Save and tell the team
Home
Log
Pre-match
Review
9:415G
Pre-match check
Q18 · built from strategy A and past mistakes
✓
Battery full
A run once failed on low charge · p92
✓
AntiJam code on
p151
✓
Distance-sensor reset
p140
✓
Wings folded upright
SG10 · final DQ · p113
Size check 18″
Failed once · 24-25 p59
Spare Brain and parts
Forgotten at the first regional · p31
Home
Log
Pre-match
Review
9:415G
For the driver · Q18 · red
Strategy A · win auton first
Auton route · p104
Auton 15 s 3 balls into the first long goal
Driver 0–45 s Take the control zone first
45–90 s Hold long goals; they rush centre → B
Last 15 s Double park +30
Note controller buzz = jam; don’t mash the button
Read · go
9:415G
History
22020X
D2 – D4This seasonIncl. elims
4 meetings found · 1W 3L
#8 · Q2773 : 27 W
D3 · qualifier
#7 · Final0 : 71 DQ
D3 · wing triggered SG10
#10 · Final25 : 74 L
D2 · their alliance + 2915V
#6 · Q285 : 28 L
D2 · qualifier
How they play: nothing logged yet Add one line after the match; it shows up next time
Home
Log
Pre-match
Review
1Home
Countdown to the next match + 4 shortcuts
2Report
Photo + tags, linked to the test and version automatically
3Checklist
Every item comes from a real mistake
4Handoff
For the driver: route + 4-step timeline + 1 warning
5History
Type a team number; all 4 meetings on one screen
In contextwhere it is used
01 Garage: a test logged in 30 s
02 Pit: pre-match shows only what matters
03 Evening: the debrief goes back into the log
Photos from the 8115X team archive (garage practice field; Palmerston North regional, Nov 2024)
Demo video storyboard2 min
00:00Log · PPPPP
1. Log after testing
Garage test done, logged on the phone in 30 s
00:20Jam · D4 · high
2. Report a fault
Photo of the jam, linked to D4
00:4522020X → 4 matches
3. Look up the opponent
Type the team number, see 1W 3L
01:102 plans · 4 faults
4. Pre-match
Opened in the pit: only what matters
01:40Strategy A · read
5. Decide, hand off
Handoff card pushed to the driver’s phone
02:05Back to log +3
6. Debrief feeds back
One line after the match, ready for the next
Usability test planplanned
Task
What
Target
Result
T1
Log one test record
< 30 s
Pending
T2
Find the history of “D4 centre-goal jam”
< 20 s
Pending
T3
Pick a strategy for a match vs 22020X
< 2 min
Pending
T4
Driver reads the handoff card and repeats it back
4 / 4 steps
Pending
Who: 3 former VEX teammates + 2–3 other robotics students at school. Control: the same tasks first with the paper notebook, then with Pit Window, comparing time and misses.
Feedback 01teammate · strategy
Feedback 02teammate · driver
Feedback 03school robotics student
Feedback screenshots go in these frames once the tests are done
Reflection & next stepswhat I learned
1
Less is more
The hard part wasn’t adding features; it was deciding what pre-match should leave out.
2
Indexing beats recording
The same notes, indexed by opponent / version / fault, become a tool.
3
Built from inside the team
At 8115X I ran match strategy and drive coaching. I built this for the person I was then.
NEXT
Import the 40 tests and 38 scores from 2025-26
Run T1–T4 with teammates and capture real feedback