Upload any lecture PDF and get a Word document with every page explained in plain language, powered by Claude AI.
- Upload a PDF (lecture slides, readings, handouts)
- Each page is rendered and sent to Claude for explanation
- Download a
.docxor.pdfwith every page as an image + its explanation below
Explanations include:
- Key terms highlighted with definitions in parentheses
- Titles and subtitles for easy studying
- Works in any language — just edit the prompt
danilomonge.github.io/Slidescribe
- Open the app in your browser
- Get a free API key at console.anthropic.com
- Drop your PDF, paste your API key, and optionally:
- Edit the explanation prompt (any language or style)
- Choose a model (Haiku for speed/cost, Sonnet for quality)
- Set render quality and page range
- Click Generate
- Download the explained
.docxor.pdf
- Pause & Resume — pause mid-run and pick up exactly where you left off
- Resilient processing — if a page fails due to a network error or API hiccup, it retries automatically with backoff (up to 60s) until it succeeds; permanent errors (invalid key, billing) stop immediately
- Session persistence — progress is saved in IndexedDB; if you reload mid-run, click Resume and it continues from the last completed page
- Partial results — cancel any time and download whatever has been processed so far
- Undo/Redo — revert prompt and page-range edits with Ctrl+Z / Ctrl+Y
- Page preview — click any thumbnail to view a full-size slide before generating
- Dual export — download as Word (
.docx) or PDF
| Model | Cost per 80-page document |
|---|---|
| Claude Haiku 4.5 | ~$0.10 |
| Claude Sonnet 4.6 | ~$0.90 |
Retries for failed pages do not charge tokens — only completed successful requests are billed.
Your API key never leaves your browser. All processing happens client-side — no server, no data collection.
- PDF.js — PDF rendering in the browser
- docx — Word document generation
- jsPDF — PDF export
- Anthropic API — AI explanations via Claude
This repo deploys directly from GitHub Pages — fully static, no build step.
- Push
index.htmlto your default branch - In GitHub, open
Settings → Pages - Set
SourcetoDeploy from a branch - Select your default branch and
/ (root) - Save, then open
https://<your-username>.github.io/Slidescribe/
.
├── assets
│ ├── scripts
│ │ ├── anthropic.js — Claude API call + error handling
│ │ ├── bootstrap.js — event listeners & app init
│ │ ├── core.js — processing loop, UI state, pause/cancel/resume
│ │ ├── exporters.js — .docx and .pdf generation
│ │ ├── helpers.js — shared utilities
│ │ ├── paper-planes.js — background animation
│ │ ├── state.js — IndexedDB persistence
│ │ └── undo.js — undo/redo for form fields
│ └── styles
│ └── main.css
├── index.html
├── LICENSE
└── README.md
MIT