Scaffold a SvelteKit slide deck — the kind you can rehearse in the browser and project at a real conference — in a few keystrokes.
npm create sveltekitslides@latest my-talk
You're walked through a presenter interview (length, audience, central
claim, sections, demos, risks) and a working SvelteKit project drops onto
disk. The interview answers are baked into a PROMPT.md so an LLM
(Claude, Cursor, etc.) can read it and finish drafting src/lib/outline.js
for you.
A SvelteKit static site where every slide is a long, scrollable page:
That's the design philosophy: the slide and the speaker notes live at the same URL. Share the link, scroll for the long version, project the top half for the talk.
localStorage-persistedwindow.location.origin so it
works on localhost:5173 during rehearsal and your domain when
deployedB to black the screen for Q&A, ? for keymap, n to toggle
rehearsal notes inline, g to jump-to-slide picker/presenter popout — current slide preview, next slide preview,
notes, and timer in one window. Drive from your phone, project the
main window.Cmd-P produces a one-pager handout (slides + notes
collapsed) you can hand out or PDFstatic/qr.svgThis package is create-sveltekitbook's sibling. Both ship a SvelteKit
project with a single outline.js driving every page. The book format
is for long-form, reader-driven content. The slides format is for
twenty- to forty-minute talks where the speaker is in the room. Same
gestures library, same markdown helper, same scroll model. Different
chrome.
Before any files land, you're asked:
The answers are written verbatim into PROMPT.md at the project root.
Open the project in Claude Code or Cursor and ask it to fill in
src/lib/outline.js from the prompt — it has everything it needs.
cd my-talk
npm install
npm run dev
Open the URL Vite prints. The cover loads. Hit → to start.
A Rust binary that produces SVG QR codes is bundled at
<project>/qrgen/. First run on a machine builds it once:
npm run qr -- "https://your-talk.example" > static/qr.svg
Subsequent invocations are instant. The runtime QrCode.svelte
component still works without it (uses the qrcode npm package); the
binary is for static / print / poster use cases.
Andrew Gauger