REFERENCEFacilitator data infrastructure
Spreadsheets that power Velocity Arena.
Five distinct Google Sheets integrations move data between students, facilitators, and the dashboard. This page lists every file that writes to or reads from a Google Sheet, what each one needs from the facilitator, and where to look when something stops working.
01
Student lesson submissions.
1 shared sheet
Six lesson pages POST student work to the same Apps Script web app (AKfycbzV0_UPT…). Every student response across these six lessons lands in one shared spreadsheet, one row per submission.
Facilitator action
Open Velocity Arena Loadouts to see who completed which lesson, with what answers. One sheet is the source of truth across all six lessons. If a row is missing, check the student's browser console — the form will console.error on failure.
02
Live Dashboard + Leaderboard.
Per-site sheet
The match dashboard and leaderboard route to different spreadsheets per pilot site. Each site has its own Apps Script web app that writes to its own sheet, keyed by the cohortTag in the URL.
Facilitator action
Match data lands in the per-site spreadsheet matched by the cohortTag in the dashboard URL. If your site shows empty data, two things to check: (1) the right cohortTag is in the URL, (2) the site's Apps Script web app is deployed and redeployed after any code changes — editing a script doesn't redeploy it.
03
Pre-Task Diagnostic (Day 1).
Per-state sheet
Each state pilot site (MI, NY, RI, TN) has its own diagnostic spreadsheet. The student-facing diagnostic page writes through a service account (not via Apps Script), and the growth dashboard reads from those sheets to produce the per-concept comparison.
Facilitator action
Every state pilot needs its own pre- and post-task sheets configured per SETUP.md before Day 1. Without them, the diagnostic UI submits but no row lands anywhere — you'll lose your baseline. The Growth Dashboard only shows progress when both pre and post rows exist for the same student.
04
Student Reflection surveys (Day 1 + Day 15).
Per-site sheet
The pre- (Day 1) and post-program (Day 15) reflection surveys ask about math confidence, belonging, and identity. Each pilot site has one reflection spreadsheet with two tabs — Reflection Pre and Reflection Post — written by a dedicated per-site Apps Script web app. The Anonymize export reads both tabs and joins them to the roster by token (no names leave the source sheets).
Facilitator action
Each site's reflection workbook must be shared with the Anonymize export account, and its reflection Apps Script deployed with access set to Anyone (not "Anyone with Google account," which blocks not-signed-in students). The Reflection Matched tab in the export workbook computes pre→post gain scores per token.
05
What-If Loadout Analysis.
1 sheet · CSV + Apps Script
The Week 3 What-If analysis reads loadout data from a Google Sheet published to web as CSV, and writes lock-ins back via an Apps Script publish endpoint.
Facilitator action
The spreadsheet must be File → Share → Publish to web → CSV before the student page can read it. The student page caches the CSV — if you update the sheet, give it a minute to propagate, or have students hard-refresh.
06
Summary — five spreadsheet groups at a glance.
| # |
Spreadsheet group |
Writes from |
Reads to |
Facilitator setup |
| 01 |
Lesson submissions (1 shared) |
6 lesson pages |
The sheet directly |
Just open the sheet to see student work |
| 02 |
Match dashboard (per-site) |
Dashboard UI |
Dashboard + Leaderboard |
Deploy site's Apps Script web app, paste URL into config.js |
| 03 |
Pre/Post Diagnostic (per-state) |
Diagnostic UI |
Growth Dashboard |
Follow SETUP.md once per state |
| 04 |
Reflection surveys (per-site, Pre + Post) |
Reflection UI (Day 1 + 15) |
Anonymize export → Reflection Matched |
Share workbook with export account; deploy script as "Anyone" |
| 05 |
What-If analysis (1 sheet, multi-tab) |
Apps Script publish endpoint |
What-If lesson |
Publish sheet as CSV |