SoundMat Presentation

I. Design philosophy

The deck is not one visual style all the way through—it mixes three slide types for rhythm:

Hero Slide — Pure typography, one full-screen line, e.g. “Place stones. Make music.” Use for section openers, key claims, emotional turns.

Bento Slide — Multi-card grid, 4–6 features on one screen. Use to show several facets of one module (e.g. sensor: “design principle / product photo / spec numbers / comparison decision” as a quartet).

Zoom Slide — One full-screen image or one big number. Use for system architecture, wow metrics, sensor close-ups.

Alternate the three types so you avoid fatigue from “all dense grids” or emptiness from “all huge type.” The visual rhythm should feel like a recent Apple keynote—big type opener → bento for detail → zoom on a highlight → back to bento to advance → big type to close.

II. Visual system

Color follows Apple’s recent light-keynote direction, not early black-stage decks:

Type

Size scale (for 1080p height)

Corners: uniform 20px on cards, images, and video frames—a core Apple detail.

Whitespace: card gap 24–32px, slide padding 64–96px. More white than content.

III. Slide list and type assignment

~13–14 slides for a 10-minute pace:

#TypeContentTime
1Hero“SoundMat” + subtitle20s
2Hero“Place stones. Make music.” (two-beat reveal)30s
3BentoIdea → Constraints bridge (4 cards: render + 3 engineering constraint cards)60s
4ZoomFull system architecture, full screen60s
5BentoSensor (5 cards: polar plot, comparison table, photo, sandwich structure, “224 zones”)90s
6BentoElectronics (5 cards: power chain, perfboard photo, module roles, USB DAC decision, PD 20V number)90s
7BentoFirmware + serial protocol (3 cards: scan timing, S/L frame format, performance numbers)45s
8Hero“Logic in Python. Sound in SuperCollider.” (antithesis)15s
9BentoSoftware architecture (4 cards: diagram, mode switch, Web console screenshot, SC group isolation)60s
10BentoJam mode sonification (4 cards: 8-ring roles, scan line + quantization, chord progression table, Lo-Fi control)90s
11ZoomAmbient mode one image + line “Still iterating.”20s
12BentoChallenges and iteration (3 cards: PD trigger rework, Micro USB → breakout, Lo-Fi freedom paradox)45s
13Hero“Live Demo” full screen5s
14ClosingThanks / Q&A—

IV. Bento slide internal rules

Every Bento needs one hero card (~40–50% of area); the rest are supporting (~20% medium, ~10% small). That hierarchy—not a uniform grid—is how Apple bento works.

Card content modes (only three):

  1. Image-dominant: full-card image (photo, render, diagram), caption small at bottom or corner
  2. Number-dominant: huge number + one line, e.g. “224 sensing zones”
  3. Text-dominant: title + short paragraph, no image

Avoid:

Layout templates (by card count):

Never more than 6 cards—split into two slides.

V. Motion system

Only three animations for the whole deck:

Global params:

Per-slide entrance order:

Back to front by z-order. Bento: large → medium → small → caption. Total entrance under 1.5s or you drag the talk.

Avoid:

VI. Technical implementation

Framework: Reveal.js 5.x—keyboard, speaker notes, PDF export, fragments built in; bento layout is custom CSS Grid, not framework-dependent.

Project structure:

soundmat-deck/
├── index.html              # Main entry, all slides
├── css/
│   ├── reveal-base.css     # Reveal.js bundled
│   ├── theme-apple.css     # Custom Apple-style theme (core)
│   └── slides.css          # Per-slide layout overrides
├── fonts/                  # Local fonts (required)
│   ├── SF-Pro-Display.woff2
│   ├── Inter-*.woff2
│   └── PingFang-SC.woff2
├── images/                 # Existing project images
│   ├── hero-installation.jpg
│   ├── sensor-polar-layout.png
│   ├── pcb-perfboard.jpg
│   └── ...
└── js/
    ├── countup.js          # Number roll animation
    └── stagger.js          # Staggered card entrance

Technical notes:

  1. Local fonts — All .woff2 under fonts/, @font-face in CSS. No Google Fonts CDN; demo Wi‑Fi may fail.
  2. Image preload — On slide 1, preload all images to avoid flashes later.
  3. Bento via CSS Grid — grid-template-columns: repeat(12, 1fr) plus per-card grid-column / grid-row span. Not flexbox hacks.
  4. CSS @keyframes + JS class toggle — Reveal fires classes on slide enter; no Framer Motion / GSAP required.
  5. Viewport scaling — Sizes in vw or clamp() for projector resolution drift.

VII. Content inventory

Assets you can use directly (from project docs):

Worth adding if possible:

Per your constraint: no new graphics. Existing assets are enough.

VIII. Motion + pacing rules

The deck “breathes” through hero / bento alternation:

Speaking time:

Speaker notes: In Reveal’s notes per slide—what to emphasize, what to skip, approximate time. Example:

Slide 5 - Sensor (60s)

  • Focus: why polar coordinates—the design reasoning
  • Wow number: 224 zones
  • Don’t expand: ghost path in depth (one sentence max)

IX. Fallback plan

Must do:

  1. PDF export — Reveal ?print-pdf, Chrome print to PDF. Last resort if the browser misbehaves.
  2. Offline test — Copy the whole project to a USB stick, run on another machine with no network; confirm fonts, images, animations are local.
  3. Room rehearsal — At least one day early in the demo room with the same laptop and projector; check resolution, type size, color on the wall.
  4. Minimal keyboard — Space to advance, arrows to change slide, Esc for overview. No custom shortcuts—you’ll mis-press under stress.

Contingency:

X. Deliverables

Final handoff:

  1. index.html + CSS + JS + fonts + images — complete web slide deck
  2. soundmat-deck.pdf — exported PDF backup
  3. speaker-notes.md — per-slide outline (print or second screen)
  4. README-demo.md — field guide (launch browser, F11 fullscreen, keys, what to do when things break)