The HTML presentation engine

Slides you
actually own.

Describe your talk to Claude. Get back one self-contained index.html: designed, offline-ready, yours forever. No app, no export, no lock-in.

PowerPoint files don't travel well.

Portable where PowerPoint is fragile.

PowerPointForge
Presenter mode, notes, timer
Slide transitions and animation
Opens with no software installed
Renders identically on every machine
Fonts travel inside the file
Readable and versionable in git
Hostable as a public link

Agenda

Three minutes, three ideas.

Part 01

The idea

Three layers that stay separate, so a deck never breaks when you reskin it.

Engine, theme, content. Never tangled.

  1. Engine

    Scaling, navigation, presenter mode. Never touched.

  2. Theme

    Colours, type, spacing, fonts. The whole look.

  3. Content

    Your slides. One HTML file each.

Change one layer and the others don't move. Restyle a whole deck without touching a slide.

A slide is just markup.

<section class="slide">  <h2 class="title">Caching cut p99 by 40%.</h2>  <ul class="bullets">    <li>One idea per line.</li>  </ul>  <aside class="notes">What you say, not what they read.</aside></section>

One command inlines everything.

  1. Sources

    Slides, theme, fonts and images, in plain files.

  2. build.py

    Python standard library only.

  3. index.html

    One file. Opens anywhere, forever.

No build server, no dependencies, no network. Double-click to open, email it, host it.

Part 02

On stage

Every control a presenter needs, built into the same single file.

Present like you rehearsed.

Windowed toolbar

Every slide ships its own controls.

Previous / next Draw Erase Laser pointer Shortcuts Speaker notes

Bottom-right in windowed mode. Click them, or press the matching key.

Mode switch

One key opens a presenter sidebar.

Press p. Notes, the timer and the next slide appear here, never on the screen behind you.

Presenter sidebar

The sidebar has its own toolkit.

Auto-scroll notes Resize text Reset timer Exit presenter

Notes scroll themselves, text resizes for tired eyes, the timer resets in one click.

Full screen

Distraction-free for the room.

Press Esc to exit full screen

The rail and the chrome fade away. Only the slide stays, for a projector or a back row.

Reveal a point exactly when it lands.

Edit mode

Fix a typo without opening an editor.

Slides you atcually own.

Slides you actually own.

Saved

Chrome, Edge, or another Chromium browser, never Safari or Firefox. Works on a deck already on disk, emailed copies included, not a hosted link.

Part 03

Make it yours

One identity, every deck, without redesigning a thing.

Swap the whole look in one line.

  • This deck is the obsidian theme: dark and editorial.
  • Ship ink-blue instead for a clean, light look.
  • Import a brand from a .pptx, an image, or a description.
  • Save any look as a portable .pfstyle.json.

deck.config.json

{  "theme": "obsidian"}

From perfectly still to full show, in one word.

  • nonestill
  • subtlefades
  • balanceddefault
  • livelythis deck
  • extra3D, loops

deck.config.json

{  "motion": "lively"}

Slides keep the same markup at every level. The engine only turns the dial.

Built in

Charts, figures and icons, with no library.

84

line icons, only the ones you use get bundled

9

components: stats, bars, rings, timelines, steps…

0

dependencies, still one self-contained file

The point

Own your slides. Don't rent them from an app that might not open them in ten years.

Your turn

Describe your next talk.

Claude writes the slides and hands you one file you can open, present, and keep.

git clone https://github.com/thmsgo18/presentation-forge.git \  ~/.claude/skills/presentation-forge

This deck itself was written and built with Presentation Forge, the skill it just described.