Decision / 01
Keep the document on the machine
- Problem
- Cloud text-to-speech requires uploading document text. That is a non-starter for legal, medical, or confidential files, regardless of a provider's privacy policy.
- Decision
- Extract text with PDF.js in the browser and synthesize with a Kokoro ONNX model served by a local FastAPI backend.
- Why
- The premise of the tool is that document text never leaves the user's device. Local inference is the product boundary, not a fallback.