Inspiration

One of our professors was sick but still decided to push through and give her lecture. Mid-lecture, she completely lost her voice. She struggled to continue, couldn’t project, and ultimately had to cut the lecture short. We wanted to build something that could seamlessly step in when a speaker can’t.

What it does

resentiment listens to a live presentation in real time. If at any moment the presenter cannot continue (loses their voice, freezes, or needs to step away), the system can immediately take over and continue presenting naturally. It generates speech that matches the context of the lecture, and allows the presenter to resume control at any time without disruption.

How we built it

We built Presentiment as a Next.js web application with React on the frontend and serverless API routes on the backend. Audio input is streamed to the backend, where we analyze context and trigger text-to-speech generation when takeover is needed. We used ElevenLabs for high-quality speech synthesis and designed our API routes to handle real-time audio data efficiently. The entire system is deployable on Vercel using Node-runtime serverless functions.

Challenges we ran into

Real-time audio handling was the biggest challenge. Managing binary audio data, serverless constraints, and deployment quirks (such as runtime and type compatibility) required careful debugging. We also ran into issues with the Elevenlabs API because our pricing level did not let us make a custom voice of the speaker.

Accomplishments that we're proud of

We built a working end-to-end system that can actually take over a live presentation. The app is fully deployed, handles real audio input, and produces natural-sounding speech on demand.

What we learned

We learned a lot about real-time systems, serverless deployment limitations, and handling binary data in modern web stacks.

What's next for Presentiment

Next, we want to add slide awareness so the AI knows exactly where it is in the deck, speaker-style adaptation to better match individual presenters, and smarter takeover detection based on voice fatigue and pauses. Long-term, we see Presentiment being useful not just for lectures, but for conferences, meetings, accessibility use cases, and emergency continuity in live events.

Built With

Share this project:

Updates