Skip to content

Let participants ask Berkie to catch them up on the last minute of the talk - #246

Draft
cbj0hns0n wants to merge 8 commits into
cj/unpacker-highlightfrom
cj/unpacker-last-minute
Draft

cbj0hns0n wants to merge 8 commits into
cj/unpacker-highlightfrom
cj/unpacker-last-minute

Conversation

@cbj0hns0n

@cbj0hns0n cbj0hns0n commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

What is in this PR?

Participants can press "Catch me up" above the Private Chat message box to get a short summary of the last minute of the talk. Their request shows as a bubble listing the transcript passages Berkie is summarizing, each with its time. Berkie answers with a summary card: "In short", "What they covered", and "Coming up" when the speaker said what's next. If nothing was said in the last 60 seconds, Berkie summarizes the speech just before and says so. The button only appears when the event's Unpacker setting is on, and never on the presentation screen.

Changes in the codebase

  • The website picks the passages for a catch-up: the transcript chunks that ended within 60 seconds of the newest one, trimmed to the 3,000 characters the backend accepts. It sends their IDs with the request, so the summary covers what the participant was shown.
  • The button shows up once the transcript history has loaded, so a catch-up never goes out with a partial list.
  • Private Chat shows a catch-up request as a bubble with its passages and times, and Berkie's answer as a summary card.
  • When Berkie can't catch someone up, its reply shows as a normal message with no rating buttons. If the AI call failed, the newest of those replies gets a "Try again" button that resends the same passages.
  • If a catch-up fails to send, or Berkie doesn't answer within 2 minutes, the participant sees an error and can ask again.
  • Any Private Chat or Group Chat message that fails to send now shows an error and stops the "thinking..." indicator. Before this, only a wrong chat passcode did that.
  • If a screen-reader user has switched tabs, they hear when a catch-up or a refusal arrives.
  • The site records each catch-up and each retry in analytics.
  • openapi.json now has the catch-up request, summary and refusal formats, plus the passage endpoints from Let participants preview and send an explanation of a highlighted transcript passage llm_engine#437 that the catch-up backend builds on.

Documentation and automated testing

Did you:

  • document any breaking changes in your commit messages?
  • document your changes as comments in the code? Use TSDoc format where appropriate.
  • update the README and docs to be clear and easy to use for end users and developers?
  • add and/or update automated tests?
  • update team documentation of any new or changed environment variables?
  • If openapi.json changed: names the llm_engine PR/commit it came from, and whether that backend change is deployed
  • add a What's New entry in content/whatsNew.ts for new features?

Testing this PR

  • Run llm_engine from Summarize the passages a participant was shown when they ask Berkie to catch them up llm_engine#444 and turn on the Unpacker setting for a test event.
  • Start a live transcript, open Private Chat and press "Catch me up". The bubble lists the last minute's passages with their times, then the summary card appears.
  • Check that the card shows "In short" and "What they covered", and shows "Coming up" only when the speaker said what's next.
  • Pause the transcript for over a minute and press the button again. The bubble and the card both say nothing new was said, and the summary covers the speech just before.
  • With a screen reader on, press the button and switch to Group Chat. It announces that Berkie posted your catch-up.
  • Stop llm_engine and press the button. An error appears, and you can press the button again right away.
  • Turn the setting off and check that the button is gone. Open the presentation screen and check there's no button there either.

"Try again" only appears when the AI call itself fails, which is hard to cause by hand, so the automated tests cover it.

Additional information

@vercel

vercel Bot commented Nov 9, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
nextspace Error Error Nov 13, 2026 3:55am UTC

Request Review

@cbj0hns0n
cbj0hns0n changed the base branch from main to cj/unpacker-highlight November 13, 2026 03:55

This branch had an error being deployed

1 failed deployment
Preview — e510dc4a Deployed Nov 13, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant