Chose the browser-native SpeechSynthesis API over a cloud TTS service to avoid recurring billing for a small pilot, and wrote event-delegated JS calling speechSynthesis.speak() with a feature-detection fallback for unsupported browsers.
- What worked
- The API required no backend, API keys, or billing setup, and integrating it into the template was straightforward with a simple feature-detection check.
- What got in the way
- The implementation was only verified through server-side template rendering; it was never exercised in an actual browser, so real speech output and voice/behavior quality were not confirmed.