Alex CoulombePresents
← all repos

Spatial Deck

11

The presentation framework for people who think spatially. One HTML file, runs anywhere, forever.

The story

Built for the HarvardXR 2026 closing keynote, when PowerPoint wasn't going to cut it. A single self-contained HTML file with presenter tooling PowerPoint never gave you: animated canvas media galleries, Web Audio sound design, live annotation and element repositioning mid-presentation, and — critically — a format an AI collaborator can edit with you right up until showtime. The Harvard keynote was a hit; the framework that powered it became Spatial Deck.

Highlights

  • One HTML file — no cloud, no build process, no lock-in
  • Annotation + move modes designed for AI-collaborative editing
  • Canvas media galleries, Web Audio, pixelated reveal effects
  • Hands back a pixel-faithful PDF when someone asks for 'the deck'

Docs · live from GitHub wiki

Spatial Deck Wiki

Welcome to the Spatial Deck wiki — everything you need to build, present, and iterate on a Spatial Deck presentation.

New here? Start with Getting Started.

Already running? Jump to the section you need.


Contents

PageWhat's in it
01 · Getting StartedClone, open, and make your first edit
02 · Content AuthoringSECTIONS array, slide types, text formatting, speaker notes
03 · MediaImages, videos, media cycler, iframes, GIFs
04 · Move Mode & LayoutDrag, scale, rotate, z-order, grid, undo/redo, text editing
05 · Theme & SettingsColors, fonts, transitions, background styles, auto-save
06 · Presenter ToolsPopup, phone companion, split view, pacing, haptics
07 · AnimationsMulti-step slides, keyframe WAAPI, SFX
08 · Import & Export ToolsAll tools/ scripts — PPTX, Markdown, PDF, HTML, video
09 · AI WorkflowWorking with Claude and other LLMs on your deck
10 · Keyboard ShortcutsEvery key and gesture in one table
11 · TroubleshootingCommon problems and fixes

The 30-Second Pitch

Spatial Deck is a single index.html file that is your entire presentation. No build step, no npm, no cloud account. You edit a JavaScript array called SECTIONS and the slides update on reload. It runs from a USB stick at a Harvard podium.

Clone → edit SECTIONS → open index.html → present.

That's the whole model. The wiki fills in everything else.

$ git clone https://github.com/ibrews/spatial-deck.git