SlidePilot
Experimental Slidev controller that judges speech transcripts for slide completion, with deterministic checks and manual navigation.
# SlidePilot
[](https://github.com/harshil1712/slidepilot/actions/workflows/ci.yml)
[](LICENSE)
> **Experimental:** SlidePilot is an early proof of concept built on experimental voice APIs. Rehearse with it before using it in a live presentation, and always keep manual navigation available.
**Your voice is the clicker.** SlidePilot listens to a presenter, asks [TypeSafe AI's Jev](https://typesafe.ai/) whether the current slide is semantically complete, and advances a [Slidev](https://sli.dev/) deck only when deterministic safety checks pass.
```text
Slidev addon → VoiceClient → Cloudflare Voice Input Agent → Workers AI Flux STT
↘ Jev → policy → Slidev navigation
```
## How it works
1. The Slidev addon streams microphone audio to a Cloudflare Agent over WebSockets.
2. Workers AI Flux produces interim text and completed utterances.
3. Jev evaluates four typed questions: whether advancing feels natural, whether the core idea is complete, whether the presenter is continuing, and whether this is a natural slide boundary.
4. TypeScript—not the model—applies the navigation policy.
5. The addon checks cooldown and stale-decision guards before calling `useNav().nextSlide()`.
Explicit phrases such as “next slide” are not required. Semantic completion is the primary signal, while positive evidence that the presenter is continuing remains a hard veto. If the presenter resumes speaking during the short navigation delay, the pending advance is cancelled.
Manual keyboard and clicker navigation always continue to work.
## Install in a Slidev deck
> The `slidev-addon-slidepilot` package is prepared for npm and will become installable when the first package release is published. Until then, clone this repository to run the