Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.slideless.ai/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Slideless turns an HTML deck — either a single self-contained HTML file or a folder with images, video, 3D assets, CSS, JS — into a public, trackable, updatable presentation URL. You upload the deck with one CLI command, get back a link, and share it. Anyone with the link opens the presentation in any browser. No install, no login, no app account. The product solves a specific problem: presentation files are heavy, locked to specific apps, and lose information the moment you send them. A .pptx requires PowerPoint or Keynote, depends on installed fonts, breaks animations across versions, and the moment you email it you lose all visibility into who saw it. Slideless turns the deck into a hosted page — a URL you can drop into Slack, paste into an email, or post on a website.

How you use it

The primary way to interact with Slideless is the slideless CLI:
npm install -g slideless
slideless auth signup-request --email you@example.com
slideless auth signup-complete --email you@example.com --code 123456 --first-name "Alex"

# A folder with assets…
slideless push ./my-deck --title "Q4 Pitch"

# …or a single HTML file
slideless push ./deck.html --title "Q4 Pitch"

# Then mint a public viewer URL for anyone.
slideless share <presentationId>
You get back a shareUrl. Send it to anyone. They open it in any browser, relative asset paths in your HTML (./hero.jpg, ./video/demo.mp4, ./three/scene.js) resolve natively — exactly like serving your folder from a static webserver. Signup happens from the terminal via a one-time code emailed to you. No dashboard round-trip required. If you already have a key, slideless login accepts it directly; see the quickstart for both paths. To update the deck without changing the URL, run slideless push again from the same folder:
slideless push ./my-deck
The CLI reads the slideless.json file written on the first push to know which presentation to update. Same URL, new content, view counts preserved. Unchanged files (images, video, bundles) are deduplicated by content hash — only modified files re-upload.

What happens behind the scenes

  1. The CLI hashes every file in your deck (SHA-256) and asks the backend which hashes it already has.
  2. Only the missing blobs upload (multipart, hash-verified server-side).
  3. A manifest listing every file’s path + hash + size + content-type is committed to Cloud Storage as an immutable version. currentVersion bumps by 1.
  4. A Firestore record tracks the owner, title, share tokens, and view counters.
  5. Recipients open the share URL. Slideless serves the entry HTML + assets from private Cloud Storage, inside a sandboxed iframe with ETag caching and Range support (for video seeking).
  6. Each view increments a per-token counter so you can see who’s looking. Every token resolves to either latest (auto-follows updates) or a pinned version you set explicitly.

What you can do

CapabilityHow
Generate decks with AI and publish themClaude marketplace skills (generate-presentation, push-presentation, share-presentation) call the CLI under the hood
Include images, video, 3D models, shadersPut them in the deck folder, reference relatively (./hero.jpg, ./three/scene.js)
Upload from a script or CI pipelineslideless push ./my-deck --title "..." --strict --json
Update a published deck without breaking the linkslideless push from the same folder. Same URL, view count preserved, unchanged files deduplicated
Freeze a recipient on a specific versionslideless pin <presentationId> <tokenId> --to-version N
Track who’s viewingslideless list for totals, slideless get <presentationId> for per-token counts
Send different links to different recipientsslideless share <id> --name "<label>" mints per-recipient tokens, each with its own versionMode
Collaborate with a teammateslideless invite <id> --email <addr> grants push + pull access
Manage everything from a UIDashboard at https://app.slideless.ai (browsing, preview, token management, collaborators, delete)

What Slideless is not

  • Not a slide editor. You bring the HTML. Slideless hosts and shares it. Use Claude (or Reveal.js, or hand-written HTML, or any AI generator) to author.
  • Not a PowerPoint converter. Upload .html or a folder, not .pptx.
  • Not a CMS. It’s purpose-built for one thing: making a deck shareable as a URL.
  • Not a dashboard editor. v3 uploads are CLI-driven. The dashboard handles browsing, previewing, token management, collaborators, and deletion — not content editing.

Architecture

LayerWhat it does
CLIslideless npm package, the primary interface to every operation
Public viewerhttps://app.slideless.ai/share/[presentationId] renders any HTML inside a sandboxed iframe with viewer chrome
Dashboardhttps://app.slideless.ai for sign in, browse presentations, create API keys, manage share tokens
HTTP APICloud Functions in europe-west1 (the CLI wraps these; see Advanced: HTTP API if you need to call them directly)
Plugin skillsOpen Plugin v1 repo at https://github.com/slideless-ai/plugin, installable via npx plugins add slideless-ai/plugin. Skills delegate to the CLI