Real-time meeting processing stream
Until this week, the path from 'meeting ended' to 'action items ready' looked like waiting for an email. That worked, but it left users staring at a stale meeting card for three to five minutes, wondering if anything was actually happening. We replaced it with a live, server-sent-events stream that drives the meeting page directly while transcription and extraction run.
You now see the processing pipeline unfold in real time. Audio uploads, transcription progress, speaker diarization passes, and action item extraction each emit progress events. The meeting page subscribes via SSE, so the transcript fills in as it generates and action items appear as the model emits them. Once everything is complete, the page transitions into a polished completed view with one fewer reload required.
On the back end, the same streaming primitives now power Carlton's responses, so the architecture is shared. On the front end, every progressive state has its own loading skeleton. No more single 'processing…' spinner sitting on the screen for minutes at a time.
- Live SSE feed for transcription and extraction progress
- Polished completed-meeting view with transcript, summary, and action list inline
- Single reload after pipeline completion, instead of polling