NUS Final Presentation Judging

Best Team Effort audience vote. Backup of the final code for the audience-vote toy-car race dashboard (Google Apps Script). Saved 8 Nov 2026.

Files

Code.gsApps Script logic: teams, votes, one vote per phone, auto-close at Max votes, no PIN. (download .gs)
Dashboard.htmlBig screen race track. Results hidden until Reveal winner, race reveal, cheer, Stop sound, ties shown as "Tied". Opens in demo mode here.
Vote.htmlPhone voting page the audience sees after scanning the QR.
Vote-QR.pngQR for the audience (opens the vote page).
Dashboard-QR.pngQR for the facilitator only (opens the big screen).

Live links (Google Apps Script)

Dashboard: https://script.google.com/macros/s/AKfycbwoi1f9CrxYLdI53GKfVcXkv4TQqQgsKm4OjeBCGIEyreN2XGIpMqxHIpZ03wtKi78v/exec
Vote page: same link + ?page=vote

Vote QR codeDashboard QR code

How to set it up again

  1. New Google Sheet → Extensions → Apps Script.
  2. Paste Code.gs. Add HTML files named exactly Dashboard and Vote and paste the two HTML files.
  3. Select setup in the function dropdown → Run. This creates the Config, Teams and Votes tabs.
  4. Teams tab: enter team names (delete unused rows). Config tab: Max votes = number of voters, Finish line votes = 5, Voting open = NO.
  5. Deploy → New deployment → Web app → Execute as: Me, Who has access: Anyone.
  6. After any code change: Deploy → Manage deployments → Edit → New version → Deploy (the link stays the same).

On the day

  1. Open the dashboard on the projector laptop (with speakers). Press Start voting.
  2. Audience scans the Vote QR and votes once each. Voting closes automatically at Max votes.
  3. Press Reveal winner (or R). Cheer again / Stop sound on the winner screen.
  4. Reset votes before the next session.