Hi HN, I built this to solve a personal problem: doing job interviews in a language that isn’t my first.
The tool uses the browser’s Web Speech API for transcription, sends the text to any OpenAI-compatible API (or Anthropic’s native SDK), and streams back a translation + answer suggestion via WebSocket.
Technical choices:
• Single-file architecture — the HTML template is embedded in the Python file. No build step, no static files.
• Flask + Flask-SocketIO for the backend, vanilla JS on the frontend.
• Supports 10 providers through a unified interface (OpenAI SDK for most, Anthropic SDK for Claude).
• Ollama support means you can run it fully local/offline.
The silence detection (configurable 500ms–6s) determines when to send a chunk for processing. Interview mode generates answer suggestions; conversation mode does translation only.
Happy to answer questions about the architecture or speech recognition quirks across browsers.
duk11•1h ago