DOM-first presentation studio

slideotter

A local workbench for structured presentations that move from brief to approved outline, live slide drafting, review, and checked PDF archive.

See the loopWhere it fitsnpx slideotter init --template tutorial
checks: clean
Active slide

Review before applying

Brief and sources stay with the deckOutline changes are reviewed firstOne DOM renderer powers export
{
  "family": "content",
  "state": "outline-approved",
  "grounded": true
}
Outline

Brief, sources, reusable plans, and length controls live beside Slide Studio.

Review

Generated slide, layout, theme, and deck-plan options stay proposals until applied.

Archive

Builds and published archives are separate choices.

Designed for the deck work between prompt and archive.

slideotter treats slides as structured JSON, stages new decks through an editable outline, and renders everything through the same DOM path for preview, validation, presentation mode, and export.

BriefCapture purpose, audience, constraints, sources, and target length.
OutlineReview, edit, and lock the deck structure before full slide files are written.
DraftDraft one slide at a time and keep partial output recoverable.
CompareInspect slide, layout, theme, and deck-plan candidates before applying.
ValidateRun text, geometry, browser, and render checks before publishing the archive.

Small surface, strict habits.

The tool is not a freeform slide editor. It is for controlled generation, inspectable deck state, and repeatable presentation publishing across local, desktop, and hosted paths.

01

Local-first authoring

Deck files, materials, sources, runtime state, and archives stay presentation-scoped.

02

Staged generation

Briefs become editable outlines, then validated slides draft progressively from approved beats.

03

DOM rendering

The preview surface is the presentation, validation, PDF, and PPTX handoff surface.

04

Cloud path baseline

Workers, D1, R2, and browser rendering proofs exist beside the local app model.