Slideflow turns the scattered pile of .pptx files on your disk into one searchable library. Find any slide, drag it into a tray, and export a new deck — with the exact look of its source.
Every slide is indexed as its own searchable object — not buried inside a file you have to open.
Titles, deck names, body text, and speaker notes — full-text indexed with SQLite FTS5, updated live as files change.
Prefix and diacritic-insensitive matching, with highlighted snippets in results.
bm25 relevance ranking, weighted so titles beat deck names, deck names beat body text, and body beats notes.
Most tools that merge slides flatten them — layouts and themes get dropped, and the result looks broken. Slideflow copies each slide’s complete relationship closure, so a composed deck is indistinguishable from its sources.
shared parts deduplicated by content hash
Local-first and offline by design. There is no server, no sign-in, and nothing to upload to. You point Slideflow at folders you already own — that’s the entire trust boundary.
All parsing, search, preview rendering, and deck composition run natively on your computer.
No LibreOffice, no bundled Python, no conversion APIs. Every .pptx is read and written by pure Rust.
The index is one local SQLite file. Delete it, and the index is fully reset. The preview cache re-renders on demand.
default-src 'self' — the app’s webview can’t phone home even if it wanted to.
MIT-licensed — read it, fork it, build it, ship it. A pure-Rust engine with a thin desktop shell, CI on all three platforms, and a one-tag release pipeline.
michaelseliger/slideflow