AI/ML · May 2026 · Team project
RoleCall AI
RoleCall lets you rehearse a call: set the scene, run it, and read a report at the end.
RoleCall AI media, 2 items. Use the arrow keys to move.
Illustration. Not a screenshot of the app.
Practice calls die when the setup takes longer than the call. RoleCall is a rehearsal you can start without waiting on an API key: set the scene, run it, and read a report at the end.
The problem
A practice call that begins with configuration is a practice call most people will not start. Keys, endpoints, a blank persona, and then the conversation you actually wanted. The person it frustrates is the one who sat down to rehearse and spent the time on setup. It was worth a path that runs from the landing page to a report with sample replies underneath.
The report still has to be honest about what it measured. A coaching note that implies it watched your eyes, when it did not, is a worse demo than no note.
How I built it
The demo walks from a landing page through create, preview, the call, and a report. That order is the product. Create is the scene. Preview is the check before you are in it. The call is the rehearsal. The report is what you read after, not a second product you have to go find.
The front end is Next.js, React, and TypeScript, with Tailwind. Zustand holds the client state across those steps so the scene you set is the scene the call runs. The API is FastAPI. The demo path uses sample replies for the persona, the next turn, and the coaching report, so the flow runs on its own.
Sample replies are a decision, not a missing feature I forgot to mention. They are why you do not need a key to see the path. They are also why this demo is not a claim about a live model on every turn.
Challenges and what I learned
A sample reply can carry the demo, and it cannot carry a claim about vision. Video cues such as eye contact are labeled as coaching estimates, not a clinical read. I would rather the report say estimate than borrow authority the sample path does not have.

Let's talk ↗









