On submit, the browser will POST the recorded (or uploaded) audio to your Python endpoint (e.g. /api/transcribe). Your backend streams to Whisper for transcription, then summarizes with ChatGPT, and returns the final text shown here.
localhost) and a user gesture to access the microphone. If the mic is blocked or you see NotAllowedError, use the upload fallback below.