Prequel

Your AI goes to the meeting before you do.

Inspiration

A date and a budget can take up a surprising amount of a meeting. Someone says they need the 14th. Someone else says the venue cannot cost more than $1,800. Both details were already in their emails, but everyone still has to join a call to put them together.

We wanted to try letting each person’s AI work through that conversation first. People could check what their agent planned to say, then come back for the decisions it could not settle.

What it does

Prequel reads the emails and calendar information relevant to a meeting and gives each attendee their own AI representative. Each agent can access only its person’s material.

Before the agents meet, you see “Here’s what I’ll say for you.” The positions in that preview are quoted directly from your information and linked to their sources. You approve what gets shared.

The agents discuss the agenda out loud. Cartesia gives each one a voice, and captions follow the conversation across connected laptops. You can message your agent privately to correct it while the discussion is happening.

At the end, our Consensus Compiler produces a one-page Brief. It records the agreement reached and identifies proposals that need someone’s sign-off. Questions the agents could not resolve stay on the agenda for people to discuss.

How we built it

Claude Haiku drafts the agenda and extracts quoted positions from emails. It also generates the agents’ dialogue and responds in the private chat.

We use Moss to search each person’s own notes. Gmail and Google Calendar access are read-only. Apify retrieves venues and other options from the web, while Cartesia handles speech.

Convex keeps the meeting state synchronized across laptops and runs the workflows and agent threads. We built the Consensus Compiler alongside it, using constraint solving and Nash bargaining to evaluate options against the supplied requirements and preferences.

The app uses Next.js with React and Tailwind CSS and runs on Render. We wrote more than 400 automated tests and added accessibility checks across the screens.

Challenges we ran into

We needed a way to check the words an agent attributed to its person. Our validator compares extracted quotes with the original notes and rejects text that does not match. The attendee then reviews the preview, since an exact quote can still be used in the wrong context.

Keeping private notes separate took work too. An agent needs enough information to represent someone, but that does not mean everything it reads should enter the shared conversation.

We ran into browser audio restrictions and exhausted our voice credits during testing. There was also a freeze we could not catch in short runs. A longer soak test exposed the cause. Our voice animation created another graphics context whenever a different agent started speaking.

Accomplishments that we're proud of

We got three agents discussing a real planning meeting out loud, with positions tied to their attendees’ emails. Captions stayed synchronized across laptops, and a person could correct their agent without interrupting the shared discussion.

The final Brief passes through a deterministic compiler. With the same structured inputs and settings, its result is repeatable and can be checked separately from the agents wording.

We also kept approval in the workflow. People check what leaves their private context before the discussion and review the proposals afterward.

What we learned

Quote validation gave us a specific error we could catch in code. It did not solve every interpretation problem, which made the attendee’s review necessary.

We found that language generation and constraint checking needed different treatment. Claude could handle the conversation, while explicit rules let us check whether an option satisfied the supplied limits.

Longer tests mattered more than we expected. The speaker animation worked through short exchanges, so we missed its resource problem until we left the conversation running.

What's next for Prequel

We want to schedule preparation from the calendar so Prequel runs the day before a meeting and adds the Brief to the invite.

Saved preferences would reduce what attendees have to enter each time. Those preferences would need to remain editable as people’s plans change. We also want to send approved decisions and owners to attendees after the discussion.

We still need to measure the time this saves in actual meetings, including the time people spend checking their agents.

Built With

Share this project:

Updates

Submission history