-
-
Opening/Welcome Page
-
Elementary Details / Background
-
Privacy Compliance
-
Personalization -- who do you want to sound like? (specify role models, speech patterns, etc.)
-
Personalization -- select sample scenarios to build your call environment
-
Personalization -- set up mock interview configurations
-
Live Coach -- interact with an AI coach who gives you real-time feedback
-
Live Coach Interface
-
After Call Report -- see transcript, find critical moments that need revisiting, replay your entire call
truely. — A Communication Coach That Learns You
Inspiration
In this day and age, we spend hours talking to webcams: interviews, meetings, presentations, and pitches. Yet most of us have little awareness of how we actually come across on camera. We might repeatedly look away while speaking or move differently when explaining something difficult without ever noticing it.
The advice available is often generic: "Make more eye contact!" or "Move less!" But everyone communicates differently. A brief glance away might simply be how someone thinks, not a habit they need to fix.
We wanted to build a coach that understands the individual before offering advice. Instead of holding everyone to the same standard, truely. learns when to leave you alone and when to help.
What it does
truely. is an AI-powered communication coach that combines personalized webcam feedback with voice-based practice.
- Calibrate: Users speak naturally for a short period while truely. establishes a personal baseline for observable behaviors such as head orientation and movement variability.
- Coach live: During a session, truely. looks for sustained, goal-relevant deviations from that baseline and provides small, private coaching cues only when tracking is reliable.
- Practice by voice: Users rehearse with an AI voice coach or mock interviewer, supported by a live transcript.
- Learn from references: Users can analyze public talks and articles for communication style and pacing.
- Review: A post-session timeline displays observed behaviors, coaching cues, and measured signals before and after each cue.
truely. is designed to stay out of the user's way. Its desktop overlay can provide coaching during real meetings and presentations without appearing in shared screens or recordings on supported Windows and macOS setups.
It focuses on observable behavior rather than psychological judgments. It does not claim to determine confidence, honesty, personality, or mental state, and it avoids reducing communication to a single score.
How we built it
We built truely. using TypeScript, React, Vite, Tailwind CSS, Zustand, IndexedDB, and Electron.
Computer Vision: MediaPipe Face Landmarker extracts facial landmarks and estimates head orientation directly on-device. Webcam frames are processed locally and never uploaded.
Personalization Engine: A deterministic signal-processing pipeline smooths measurements, checks tracking quality, and compares current behavior against the user's personal baseline. The baseline updates conservatively during stable periods and pauses during suspected deviations.
Real-time Coaching: An explicit state machine manages observation, candidate deviations, visible cues, cooldowns, paused sessions, and tracking failures. Persistence windows and confidence checks prevent momentary fluctuations or unreliable measurements from triggering coaching cues.
Voice AI: Cartesia powers real-time transcription and speech processing. Moss powers the AI voice coach, mock interviewer, and communication-pattern analysis.
Reference Analysis: Apify actors retrieve public material through YouTube search, video captions, and web page content.
Desktop Experience: Electron provides the application shell and overlay functionality. API keys remain in the Electron main process, Cartesia receives short-lived, scoped tokens, and Apify execution is restricted to an allow-list of actors.
Privacy: Webcam frames remain on-device. Live audio is streamed to Cartesia, while text such as prompts, transcripts, and reference material is sent to Moss. Session recordings remain on-device, and saved metrics can be deleted or reset.
Challenges we faced
One of our biggest challenges was dealing with noisy computer-vision measurements. Head-pose estimates fluctuate from frame to frame, making it difficult to distinguish meaningful behavioral changes from normal variation. We addressed this through signal smoothing, confidence checks, and persistence windows.
Another challenge was deciding when not to provide feedback. Detecting a deviation is only part of the problem; knowing whether it deserves the user's attention is much harder. We designed cooldowns, cue dismissal, and feedback mechanisms to keep coaching selective rather than distracting.
We also had to handle real-world camera failures, including denied permissions, cameras already in use, faces leaving the frame, and MediaPipe's strictly increasing timestamp requirement. Tracking failures needed to be treated as unreliable data, never as evidence of a behavioral problem.
Finally, integrating multiple external services while keeping credentials secure required a clear separation between the Electron main process and the application interface.
Accomplishments we're proud of
- Built a real-time coaching loop that uses personal baselines rather than universal behavioral standards.
- Implemented on-device visual inference without simulated live metrics.
- Combined visual coaching with voice-based rehearsal, mock interviews, and reference analysis.
- Developed a private desktop overlay designed for use during real meetings and presentations.
- Added unit tests covering baseline logic, coaching decisions, audio calibration, and service integrations.
Most importantly, we built around a different idea of what coaching should feel like: supportive, personalized, and useful without being distracting.
What we learned
We learned that deciding when not to speak can be just as important as deciding what to say. A communication coach must balance useful feedback with the user's ability to think and speak naturally.
We also learned that technical precision and honest product language go hand in hand. A webcam provides an imperfect estimate of head orientation, not definitive proof of gaze or attention. Building trust means being clear about what the system measures and what it cannot know.
Finally, privacy involves more than video processing. Audio streams, transcripts, prompts, and saved metrics all require deliberate handling and clear user expectations.
What's next
We plan to explore additional behavioral signals, such as head-movement variability, and introduce audio-based pacing feedback using the same personalized-baseline approach.
We also want to improve cross-session personalization, compare compatible sessions over time, and explore meeting-platform integrations with explicit consent and clear privacy controls.
Our long-term vision is simple: help people become better communicators without asking them to become someone else.
Built with
TypeScript, React, Vite, Tailwind CSS, Electron, MediaPipe Face Landmarker, Cartesia, Moss, Apify, Zustand, and IndexedDB.
Built With
- apify
- cartesia
- css3
- electron
- face-landmarker
- html5
- idb-keyval
- indexeddb
- javascript
- mediapipe
- moss
- node.js
- react
- react-router
- tailwindcss
- typescript
- vite
- vitest
- zustand

Log in or sign up for Devpost to join the conversation.