How it works
The portal delivers each Google Slides lesson four ways — without exporting to PDF and without losing transitions, videos, or timers.
Four delivery modes
| Mode | Mechanism | Fidelity | Best for |
|---|---|---|---|
| In-page player | Google /embed iframe inside the branded lesson page | Full — native transitions and videos | Browsing and previewing |
| Custom viewer | Pre-exported slide images in a branded viewer with live JS timers | High — static slides; build animations become full-slide steps | Full brand control, offline-capable |
| Open for presenting | New tab to the deck's /present URL | Full — and zero portal branding | Teachers projecting in class |
| Branded full screen | Fullscreen wrapper around the embed with a watermark overlay | Full, plus the SustainED mark | Branded classroom presenting |
Watermark caveat: the branded full-screen mode overlays our logo on the embedded player. If a presenter uses Google's own fullscreen button inside the player, the watermark is bypassed — the portal's “Present branded” button is the supported path, and the clean “Open for presenting” mode covers teachers who want no branding at all.
Verified today
- Decks are link-shared, not “published to web” — embedding, presenting, and image export all work anonymously today.
- Publishing can be automated in bulk via the Drive API (revisions.update with publishAuto), so no one clicks through thousands of decks.
- Edited decks republish automatically in the embed and present views; the custom viewer re-exports with one command.
- The countdown videos in the decks are YouTube timers — the custom viewer replaces them with real JavaScript timers.
Scaling to thousands of decks
Every lesson in this portal is one entry in a typed manifest — the pages generate themselves. Converting a deck for the custom viewer is one command:
node scripts/export-deck.mjs <slidesId>In production the same pipeline runs against the official APIs: the Drive API lists curriculum folders and bulk-publishes decks, the Slides API supplies slide order, video elements, and high-resolution thumbnails under a service account, and Drive change notifications (or a nightly sweep) trigger re-export when a deck is edited — the “republish on change” requirement, automated.