B beautiful-decks
Live preview · scroll to explore

An HTML deck factory that ships four artifacts from one source.

Live HTML, retina PDF, natively-editable PowerPoint, and a Google Slides upload — produced from one content YAML + one template + one theme. Every text run and tile in the PPTX is a real shape, not an image.

Open ↗
Omni-Dentist Growth System · WEO Marketly .html .pdf .pptx slides
01/05

Four artifacts. One YAML.

Built around the Anthropic pptx-skill's Pattern A — Playwright walks the rendered DOM into native python-pptx shapes. The editable downstream isn't a fragmented LibreOffice mess.

.html
Live HTML

Self-contained file, inlined CSS, arrow-key navigation. Renders identically in Chrome, Safari, Firefox.

.pdf
Retina PDF

Playwright + Pillow, 2× device scale. One slide per page. Image-perfect against the live HTML.

.pptx
Editable PPTX

Native shapes — every text run, every tile, every callout is an editable PowerPoint object.

slides
Google Slides

Uploaded via Drive API as a true Slides file (not a .pptx attachment). Comment, share, multiplayer-edit.

02/05

Live decks · click any.

Iframe embeds of the actual hosted decks. The same four artifacts ship for each one — HTML, PDF, editable PPTX, Google Slides.

03/05

Tweak Studio · sliders, not prose.

When the issue is taste, sliders beat prose. Bake the patch to CSS or send the link — slider state lives in the URL hash, so a tuned look is shareable.

Seven live sliders for taste-level adjustments. Click Bake patch for a CSS snippet, or copy the URL — slider state is encoded in the hash.

accent saturation type scale density radius atmosphere italic
…/series-a-pitch-studio#/2?tweak=54be94,2298d5,120,105,95,24,140
04/05

Themes are CSS files.

Themes ride the same token vocabulary. Drop in a brand palette, adjust the type stack, ship. Render three covers side-by-side; pick by reaction.

weo-marketly

Dental-vertical client work, partner co-marketing, internal updates.

themes/weo-marketly.css
corporate-navy

Series A/B fundraising, board reviews, finance briefings.

themes/corporate-navy.css
editorial-cream

Brand manifestos, founder updates, values decks, earned media.

themes/editorial-cream.css
05/05

Run it · three commands.

Variation-first preview, lint, full pipeline. Each step is a single command. Total wall-clock to all four outputs: about fifteen seconds.

1
# lint content for banned phrases + tile overflow
python3 scripts/lint_content.py examples/<slug>/content.yaml
2
# render 3 cover-slide previews, pick by reaction
python3 scripts/preview_themes.py --content examples/<slug>/content.yaml
3
# full pipeline (~15 sec)
./scripts/make_deck.sh --content examples/<slug>/content.yaml --theme themes/<chosen>.css --upload "Display Name"