Real-time AI coach that watches your screen and talks you through the work
A voice-and-vision AI agent that sits beside a person while they work on a task on their computer: watching their screen, pointing at what to do next, and checking whether the piece of work is coming together correctly.
A real-time AI agent that pairs with a person as they complete a hands-on task on their computer, for example, writing a business proposal or preparing a project brief. It talks with them over voice, watches their screen, points at the exact spot they should look at or click, hands over the right reference material at the right moment, and keeps a running read on whether the piece of work they are producing matches what the task actually asked for.
Some tasks are best learned with someone sitting next to you: someone who notices the moment you stall, who can see exactly what's on your screen, who hands you the right reference before you go looking for it, and who is watching the actual piece of work take shape rather than only grading it after you turn it in. Putting a human in that seat for every person doesn't scale. This project makes that kind of real-time, in-the-room coaching available without one.
Built on LiveKit for real-time audio and video transport. Claude Sonnet 4.6 runs the conversation, and a Computer Use loop gives the model live vision over the person's screen so it can describe what is happening and point at specific elements as they work. The pointing runs through a coordinate-mapping formula written for this system: the model emits a target in screenshot space (the scaled-down image it actually saw), and the frontend scales it to the person's real display, subtracts the window position and browser chrome, and clamps to the live viewport, so the AI's 'look here' lands on the right pixel even after they resize the window or move it across screens. The key trick is that the AI never has to know the person's display, window position, or chrome: it only ever emits a pixel inside the screenshot it just saw, and the frontend pulls the live browser values at the moment of pointing to bridge the three coordinate spaces. That same formula is now reused elsewhere in the product for the same kind of on-screen pointing. The agent decides when to speak instead of waiting to be asked, so silence reads as a signal to step in rather than a pause to wait through. Alongside the conversation, the engine carries the task's requirements and watches the work take shape against them, surfacing the right resource at the right moment instead of dumping everything up front, and quietly noting which parts of the work are done, missing, or off-target. ElevenLabs voices the coach, with a streaming text-to-speech path that starts generating the first words while the model is still finishing its sentence, getting first audio under 500 milliseconds. When the session ends, the engine hands off the transcript so what happened in the session shapes how the person is understood going forward.
Coordinate-mapping formula: bridges three coordinate spaces (AI screenshot → user display → browser viewport → normalized ) at the moment of pointing.
Step 1. Screenshot pixel to real-display pixel , scaling by the ratio of the user's actual display to the screenshot the AI saw:
Step 2. Real-display pixel to browser-viewport pixel . Subtract the window's position on the display, and the browser chrome (the title bar + borders that wrap the page). The chrome width splits left + right, the chrome height sits entirely at the top:
Step 3. Browser-viewport pixel to a window-size-agnostic ratio in , which is what the pointer animation actually consumes:
The clamp on step 2 makes off-screen targets land at the viewport edge instead of vanishing. Normalization on step 3 keeps the pointer correct after any resize. The AI is decoupled from the user's display setup completely: it only sees and the screenshot it produced, never the live values , , , etc., which the frontend reads at the moment of pointing.
Tech lead on the underlying real-time agent and its variants. Owned the lifecycle contract, the per-utterance ingest client, the end-of-session fanout, and the coordinate-mapping formula that makes the AI's on-screen pointing land on the right pixel across any window size (still used elsewhere in the product today).
Want the full technical depth, the tradeoffs, what broke, what I'd do differently? Ask the agent about this project.