Personal · Presentation production
Alexis's English PowerPoint — "The Secrets of My Success"
Context
Alexis (14, first year of the Dual Diploma program) had to submit a final English project: a narrated 10-slide PowerPoint exported as a 2–3 minute video, with a detailed rubric covering content, aesthetics, and pronunciation. The goal: a deliverable that looks like a teenager's work but polished, with clean B1/B2 English.
What was built
- A
.pptxwith 10 slides, "blue & coral" style, alternating backgrounds to avoid monotony - Title, About, Why Dual Diploma (personal story), 5 characteristics, advice in 4 cards, sources
- 7 native image placeholders (generated PNGs) with visual cues — "Replace image" works natively in Google Slides
- A PDF export of the deck + a narration script calibrated at 497 words / ~3:00 at 165 wpm, with breathing marks, split slide by slide
What was tricky / unexpected
- First version: dashed rectangles as placeholders → Google Slides doesn't recognize them as images. Fix: real PNGs (dashed circle + text) inserted via
addImage()→ native behavior restored without changing the look. - Visual QA was essential: a decorative dot sitting on top of the "T" in the title, a circle overlapping a badge — flaws only visible after the PDF→JPG conversion.
- Text/time calibration: hitting 3 min means 165 wpm, and word distribution follows the complexity of each slide.
Stack
Node.js, pptxgenjs 4.0.1, sharp (PNG via SVG), LibreOffice headless + pdftoppm for iterative visual QA (pptx → pdf → jpg per slide). Markdown for the script.
What this illustrates
Iterative workflow with visual QA at each step: generate, convert to images, check slide by slide, fix, loop. And a case where you have to adapt the output format to the constraints of the downstream tool (Google Slides) without changing the final look. Precise text calibration (words/minute/slide) rather than eyeballing it.