ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Facilitator console for the BML retail refresher session: run of show, team scoreboard, quiz, persona matching and more.
EducationHTML · PLpgSQLGitHub @bloomtechsolutionsOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Facilitator console for the BML retail refresher session (Day 1 · Session 4). It runs on a projector and holds the run of show, session timer, team scoreboard and five activities: True or False, Product Passport, Product Challenge quiz, Listen for the Clue, and Spin & Explain.
It is a single static page (public/index.html) with no build step, backed by Supabase for sessions, teams and scores.
All activity content lives in public/content.js: True or False statements, the Product Challenge quiz, the Listen for the Clue customers, the Spin & Explain wheel and its coaching notes, the product library and the audience screen's facts. Facilitators update outdated information on the admin page (/admin, linked from the Run of show):
The admin tables come from supabase/migrations/20261024300000_content_admin.sql.
The Product Library view (last item in the menu) holds every Bank of Maldives product: 31 for individual customers (accounts, cards, financing, digital, what's new) and 25 for business customers (accounts and cards, SME financing, corporate and trade, payments and merchant services). Filter by Individual or Business and by family, or search any word, rate or customer type. Each card says who the product is for, its key facts and a one-line pitch. Facts come from bankofmaldives.com.mv; figures the bank's own pages disagree on (such as business debit card limits) are left out.
Business products also appear in the games: Product Passport teams can pick them, the Product Challenge has a Business & SME column, the Spin & Explain wheel includes four business products, and the audience screen's ticker has business facts.
/play: it picks a free team or creates its own. A session has at most 6 teams, and a team that already has a phone can't be taken by another one. If a phone dies, Release phone in the session dialog frees the seat.At the end of the session, open the Close view: it shows a QR code for /feedback?s=CODE. Press Show feedback QR on the screen to put it on the projector. Every staff member scans it with their own phone (not one per team) and answers:
Answers update live on the console (count, average confidence before → after, both distributions, the most helpful activity, commitments and suggestions) and on the projector (count and confidence shift only, no comments). Download CSV saves every answer. Sending again from the same phone replaces that person's earlier answer. Only the facilitator's device can read the answers. Needs supabase/migrations/20261024400000_feedback.sql.
Put /screen?s=CODE on the projector (the session dialog has the link) and keep the console on the facilitator's laptop. The screen has no controls: the console broadcasts what to show over the session's realtime channel on every change and every 2 seconds, and answers a new screen's "hello" straight away. The design is a split-flap departures board:
supabase/migrations/ holds the schema. A team's score is the sum of its score_events. rounds holds each question sent to the phones (readable by everyone), round_keys its answer key and answers each team's answer (neither readable through the API). team_secrets holds each phone's player key as a hash. Automatic awards carry a ref (for example quiz:2-3), so awarding again replaces the points instead of adding them. Tables are readable by anyone with the publishable key; every write goes through SECURITY DEFINER functions that check the session's host key (stored only as a SHA-256 hash). Teams and score events are published to Supabase Realtime so every screen updates live.
The Supabase client is vendored in public/vendor/ so the page does not depend on a CDN on the day.
npm run dev
Deployed on Vercel as a static site. vercel.json serves public/ as the output directory. Import the repository in Vercel (framework preset: Other) or run npx vercel --prod.
Product facts were taken from bankofmaldives.com.mv on 24 Oct 2026. Check rates, limits and fees against the current Schedule of Charges before each session.