Inspiration

Every actor has been there: it’s 11:00 PM, you just got a "request for self-tape" due at 9:00 AM, and everyone you know is asleep. You’re left trying to record your lines while leaving awkward silences for the other character, or worse, using a robotic text-to-speech app that kills the "vibe" of the scene. We built Sides because acting is about reacting. We wanted to give actors a partner that doesn't just read lines, but actually listens, adapts, and pushes them to give a better performance—anytime, anywhere.

What it does

Sides is an AI-powered rehearsal studio that turns static scripts into dynamic experiences.

Smart Parsing: Upload a PDF, and the AI automatically identifies characters, scenes, and stage directions.

The Living Partner: Using Gemini, the app acts as your scene partner. You can dial in the Tone to see how your delivery changes when the AI pushes back

How we built it

We leveraged the cutting-edge capabilities of the Gemini 3 API to handle the heavy lifting in google ai studio The Voice: We integrated high-fidelity TTS (Text-to-Speech) that allows for emotional modulation based on the "Mood Slider" input. We leveraged the cutting-edge capabilities of the Gemini 3 API to handle the heavy lifting in google ai studio

Challenges we ran into

The path to a seamless "Rehearsal Room" was paved with technical hurdles, primarily centered around API Rate Limiting and Natural Dialogue Rhythm.

  1. The Quota Wall (Error 429) Early in development, we hit the dreaded RESOURCE_EXHAUSTED error. Actors need to run lines quickly, and our initial architecture was sending "burst" requests that overwhelmed the Gemini API. The Fix: Gemini implemented a Smart Request Queueing system. Instead of firing multiple requests at once, the geminiService now uses a "Single Lane" queue with a mandatory $1.0s$ buffer between calls. This smoothed out our traffic and eliminated the 429 errors while keeping the experience snappy.

we attempted to upgrade to a production-grade Google Cloud Billing account on February 7th. However, we encountered a delay in the banking verification process; the GOOGLE*MDZ verification code required to activate the billing account did not arrive in our bank statement in time for the final deployment. This meant we had to pivot the deployment . Because the API key functionality was limited by the inactive billing status on Netlify, we had to optimize our code to run within the Free Tier constraints and rely on local environment testing to prove the full agentic reasoning capabilities of Gemini 3.

Accomplishments that we're proud of

I am proud that I can create something that gonna help Human and not replacing them, but sharpening them.

What we learned

Building Sides taught us that "perfect" isn't the goal—"reactive" is. We realized that the nuances of human speech, like hesitation and inflection, are what make a scene feel alive. Most importantly, we learned the immense satisfaction of building something that actually works and serves a purpose. There is a unique pride in knowing that this isn't just a technical exercise; it’s a tool that can genuinely help someone in their daily life, removing the stress of isolation and giving them the support they need to succeed in their craft.

What's next for Sides

keep improving the App The "Director’s Cut" of our roadmap includes: Virtual Eye-Line: A visual guide on screen to help actors maintain a consistent focus point. Off-Book Mode: Using "Faded Text" logic to help actors memorize lines faster by slowly removing words as they get them right. Multi-Character Scenes: Allowing the AI to play three or four different roles simultaneously, each with a distinct voice. ...

Built With

Share this project:

Updates