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.gs | Apps Script logic: teams, votes, one vote per phone, auto-close at Max votes, no PIN. (download .gs) |
| Dashboard.html | Big screen race track. Results hidden until Reveal winner, race reveal, cheer, Stop sound, ties shown as "Tied". Opens in demo mode here. |
| Vote.html | Phone voting page the audience sees after scanning the QR. |
| Vote-QR.png | QR for the audience (opens the vote page). |
| Dashboard-QR.png | QR 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


How to set it up again
- New Google Sheet → Extensions → Apps Script.
- Paste Code.gs. Add HTML files named exactly Dashboard and Vote and paste the two HTML files.
- Select setup in the function dropdown → Run. This creates the Config, Teams and Votes tabs.
- Teams tab: enter team names (delete unused rows). Config tab: Max votes = number of voters, Finish line votes = 5, Voting open = NO.
- Deploy → New deployment → Web app → Execute as: Me, Who has access: Anyone.
- After any code change: Deploy → Manage deployments → Edit → New version → Deploy (the link stays the same).
On the day
- Open the dashboard on the projector laptop (with speakers). Press Start voting.
- Audience scans the Vote QR and votes once each. Voting closes automatically at Max votes.
- Press Reveal winner (or R). Cheer again / Stop sound on the winner screen.
- Reset votes before the next session.