← Selected work / 06
Saransh
A meeting assistant for a company that didn't want its meetings leaving the building.
6
features added on top of the open-source base, from sign-in to speaker names
Local
by default: recording, live transcription and voiceprints. Audio leaves only when someone picks a hosted model
~34 MB
of on-device models that tell speakers apart and recognise the user's voice
±2 s
tolerance for lining up speaker turns with transcript lines
Starting point
Meeting assistants usually work by sending your audio to someone else's server. Intelligaia wanted one where nothing leaves the laptop unless someone chooses a cloud model.
Instead of starting from zero, I built on Meetily, an open-source desktop app by Zackriya Solutions (MIT). It already captured system and microphone audio, transcribed it locally with Whisper or Parakeet, and summarised it with a local or self-hosted model. That was the right foundation. What it lacked was everything that turns a capable open-source app into a tool a company can hand to its people.
Saransh is that layer: an org-only gate, a link to people's calendars, recording that starts itself, knowing who spoke, and transcription that copes with Hindi and English in the same sentence.
What I added
-
1
Org-only sign-in
The whole app sits behind a Google login that only
@intelligaia.comaccounts pass, with a 30-day local session so people aren't asked every morning. -
2
Calendar and auto-record
Upcoming video meetings appear from Google Calendar. Press Join and Saransh opens the call and records the Meet window with system and mic audio into one
meeting.mp4, alongside the transcript. It stops when the meeting ends. -
3
Meet auto-detect
When you join a Meet some other way, Saransh notices and offers to transcribe, then stops when the meeting window closes. It's a beta behind a feature flag.
-
4
Voice ID
Record a short sample once and Saransh keeps a voiceprint on the device. After each meeting it separates the speakers in the background and labels the owner's voice by name.
-
5
Who said what
Speaker turns are saved with the meeting and drawn into the transcript: a legend of speakers and coloured headers on every turn, so saved meetings keep their names.
-
6
Hinglish transcription
Imports and re-transcriptions can use Intelligaia's hosted speech model, a Whisper large-v3 fine-tune for Hindi–English code-switching. Live transcription stays on the local engines.
Decisions worth explaining
Most of the work was in the details nobody sees until they go wrong: a covered window, a wrong domain, a model that won't stop repeating itself.
- Recording that survives a covered window. Ordinary screen capture records whatever is on top, so a chat window dragged over the call ends up in the video. Saransh uses Windows Graphics Capture, which follows the Meet window itself even when it's hidden, and falls back to the whole monitor if the window can't be found.
- The domain check happens after login, not before. Asking Google to restrict sign-in to one domain is only a hint. The real check runs after the code exchange, against the hosted-domain claim and the email Google returns. The login runs in the system browser over a PKCE loopback, so no secrets ever touch the app's webview.
- Prompt, don't record silently. Meet detection reads window titles, which can't reliably tell the waiting room from a live call. So the app asks before it starts, instead of quietly recording something it shouldn't.
- Voiceprints are biometric data. Enrollment needs explicit consent, and the voiceprint is stored only on that machine. The embedding model captures voice timbre rather than language, so the same voiceprint works whether someone is speaking Hindi, English or both.
- Two clocks that never agree. Whisper's sentence boundaries and the diarizer's speaker turns rarely line up. Each transcript line takes the speaker whose turn contains it, or the nearest turn within two seconds.
- Teaching a hosted model to stop looping. Whole-file uploads made the hosted Whisper model fall into repetition loops. Saransh sends only speech segments found by voice activity detection, then collapses any repeated words or phrases that remain.
Where it stands
- Window capture, Meet detection and Voice ID are Windows-only for now.
- Voice ID labels the device owner's voice; other speakers are separated but not yet named.
- A redesign from new Figma screens has started as a static preview of the core flow.
Built on Meetily by Zackriya Solutions, MIT licensed.