Release

The Meeting Room That Doesn't Switch to English

Six weeks of shipping took InterMIND from a translation demo to a multilingual workspace. Per-viewer voice, chat, shared notes, and edit history — in 21 languages, with the audit trail to match. Free for everyone until June 2026.

The Mind.com Team

The Meeting Room That Doesn't Switch to English

You schedule a cross-border meeting. People join from three time zones. Within ninety seconds someone says "let's keep this in English so we're all on the same page" — and you watch the most senior people in the room go quiet.

That switch is a tax. On time, on confidence, on what actually gets decided.

We've spent the last six weeks rebuilding InterMIND around the principle that no one in the room should have to switch. Not for the conversation. Not for the chat. Not for the notes you're typing live. Not for the edit history you'll review tomorrow.

Here's what shifted.


1. Per-Viewer Everything, Not Just Voice

Live voice translation has always been the headline — 21 languages, sub-second latency, every participant picks their own language at the start of the call. v1.2 makes everything around the voice multilingual too, and keeps it in sync, per viewer, in real time. (For why "21" and not the bigger numbers other surfaces show, see the breakdown.)

Chat: every edit shows you what changed, in your language

Every message in chat is translated as it's typed. The change in v1.2: when someone edits a message, we don't throw out their previous translation and serve you a fresh one. We compute the diff between the previous translated text and the new translated text, in your language — and show it inline.

So when your colleague edits "we should review by Tuesday" to "we should review by Thursday," your Spanish reviewer doesn't see a re-translated paragraph and guess what moved. They see martes → jueves, highlighted. Same precision as a Git diff, but rendered in whichever of the 21 languages they read.

If the edit changes only formatting — bold, italic, list markers — we re-translate anyway, because format-only edits are often where meaning shifts (a comma becomes a clause break). And the previous translation stays on screen while the new one streams in, so you never look at blank space waiting for the API to come back.

Notes: live, character-by-character, per language

The host opens the shared-note pane during the meeting and starts typing. Every participant sees the note in their language, character-by-character, with sub-second propagation. Edit a line and viewers get a per-language diff — same model as chat edits.

We also rewrote note translation to translate list items individually instead of the whole document. A nested checklist in English doesn't preserve its structure if you translate the markdown blob — the model flattens the hierarchy. Translating each <li> independently keeps the indentation, the numbering, and the inline formatting intact in every language.

Attachments: documents inside chat speak the room

Drop a Google Doc, OneDrive link, or PDF into chat. v1.2 renders them inline:

  • Linked docs — title, preview, domain badge, no raw URL bleeding through. Editable docs open in a new tab with the right locale hint (hl=), so a Brazilian Portuguese reader doesn't land in an English Docs UI.
  • Image uploads — thumbnail on upload, intrinsic-grid responsive layout in the message bubble so images don't blow out at narrow widths.
  • Three-tier document accessedit, view, or no-access — with auto-share when permissions allow. Participants without Drive access still see a clean read-only preview, not a "permission denied" page.

Lazy translation: faster, cheaper, less noisy

We used to translate every message in your history when you switched languages. For long-running team channels that meant replaying hours of API calls for messages you'd never scroll back to.

v1.2 uses an IntersectionObserver: translations happen on demand, when a message enters the viewport. Switching languages mid-meeting is now instant. We also stop chat-list polling immediately on 401, which silenced a runaway error stream you would never have noticed but we did.

Voice transcription: sanitized before render

Transcription text is sanitized before rendering — no HTML injection through a creative pronunciation. It sounds obvious. It also wasn't true two months ago.


2. The Note Editor Caught Up With the Conversation

Notes and chat messages share a rich editor with:

  • Slash menu for headings, lists, code blocks
  • AI Improve transforms — pick a paragraph, rewrite for tone, expand, summarize, fix grammar — directly in the editor, no copy-paste round trip
  • @-mentions wired into participant data: type @ and you see the live participant list
  • Emoji picker that doesn't drop out of position on narrow widths
  • Image upload straight into the message body

AI Improve transforms run as single-chain inserts with no output-token cap (we hit that ceiling more than once during testing). Output is converted from markdown to HTML via marked, so the editor never shows you a raw ### Heading artifact.

A shared note can be opened in a new tab — useful when the meeting is on one monitor and the document needs a full second screen. Sidebar resize no longer gets stuck behind the iframe.


3. The Meeting Room Finally Has the Boring Parts Right

A translation feature is meaningless if the meeting room around it doesn't hold up. v1.2 closes a long list of gaps you only notice when they fail.

CapabilityWhat it doesWhy it matters
Host-only permissionsMic, camera, screenshare, chat — gated per participant from More → SettingsModeration surface stops being a free-for-all
Conference guide modalKeyboard shortcuts and button explanations in one panelNew users find features without a tour
Note sharing on stagePin a note next to your camera overlay; camera stays visibleWalk through a doc without losing the room
Two-mode read receiptsPresent (currently watching) vs returned (saw it later)Beats the binary "delivered" lie
Pre-join deferred approvalGuests see an approval-pending screen before they appearNo surprise joins, no awkward expulsions
Ad-hoc copy-link nudgeHost joins alone? Toast asks if they want to copy the linkCloses the "am I the only one here, was the link sent?" loop
Raise-hand fixThe button works againIt was broken; now it isn't
Forced dark theme in meetingDark only while the meeting room is mountedLess brightness whiplash mid-call
40-minute Basic capFree meetings end at 40 min, same headline cap as Zoom FreeHonest pricing surface

Translation runs full quality on every plan, including Free.


4. Teams That Don't Fight the Tool

We rewrote the role and seat model from scratch on a strict 1-user-1-org invariant. No lazy team creation. No ghost orgs. Owners cancel subscriptions; they don't get asked to transfer to nowhere.

RoleScope
OwnerBilling, domain management, every action below
AdminInvite, role changes, license grants — no billing
MemberMeetings, chat, their own profile
SoloPersonal contacts, personal meetings — no team scope

Licenses are assignable per seat, Zoom-style. Bulk operations from the Users table — make admin, make member, grant license, revoke license — apply across selection with a clear warning when only part of the bulk action will fit available seats.

License switching is optimistic, no spinner waiting for the server. If you grant a seat and the next click would exceed the plan, a contextual Buy more licenses CTA appears exactly where you'd next try to grant one. Domain Management is gated to Business+ and clearly labeled, not silently hidden.

Pending invitations clean themselves up. Self-service is real: members can't accidentally delete themselves, can't grant themselves admin, can't bulk-action their own row. Owners see Owner-only UI; members don't see it at all.

The guest-access flow now lives outside the team boundary entirely. Hosts can approve a guest into the meeting without adding them to the team; the host's personal contacts get a separate Add to contacts option from the participants sidebar.


5. Honest Cuts, Honest Numbers

A release post is also a chance to be straight about what didn't make it.

We disabled Arabic, Turkish, and Hindi for live voice/chat/notes. Translation quality for those three didn't meet our bar during the alpha cycle. We'd rather ship 21 languages that work than 24 with footnotes. (Arabic and Turkish remain available in the file-translation pipeline through DeepL — see the full per-surface breakdown.) The picker names for Spanish, Portuguese, and Chinese now disambiguate region and script, because nobody should have to guess whether "Chinese" means simplified or traditional.

We retired staging.intermind.com. main is the only long-lived branch. Production deploys are manual. CI on push to main runs lint + unit + integration on a Vercel preview and stops there — we don't auto-promote, which means we don't ship to prod by accident either.

We migrated the translation server from Amsterdam to Paris. Measurable latency improvement for European users, with retry logic added in the same pass to absorb upstream provider blips.

We collapsed two Sentry projects into one and split by environment tag. Two projects sounded organized; in practice it doubled the dashboards we had to check before believing anything.

Replay session sampling went down because the previous rate was burning the entire org quota. The 4xx HTTP errors fall out of capture for the same reason — most were not actionable.

We publish a public benchmark with translation latency, quality scores, and the methodology. The methodology page includes a disclosure: before 2026-04-23, our chat harness was mis-counting some translation events, which inflated reported latency. We found it, fixed it, kept the bad numbers in the historical chart, and labeled them. That's the kind of disclosure that should be expected from anyone publishing a benchmark.

In production we run hourly synthetic E2E checks through Checkly — full chat round-trip and full voice round-trip, including an LLM-scored translation-quality assertion — plus Web Vitals monitoring via Sentry Metric Alerts on every public page. When something breaks, we know within minutes, not the next morning.


6. Eight Use Cases — Try Before You Sign Up

Telling people "we translate" doesn't land. We built eight use-case pages with animated demos for the scenarios that actually drive cross-border meeting need:

  1. Regulated multilingual meetings — CAPA reviews, inspection prep, multi-site quality calls. The audit trail is multilingual end-to-end.
  2. Cross-border sales calls — close in the buyer's language, keep your team's notes in yours.
  3. Multi-site engineering reviews — design walkthroughs across plants where the technical vocabulary is the hard part, not the small talk.
  4. Remote technical interviews — assess the engineer, not their English.
  5. Multilingual customer support — every ticket conversation, in every language, with one rep.
  6. Language tutoring — instructor speaks naturally; learner gets dual-language subtitles and chat.
  7. Online events and webinars — one host, many language tracks, no relay interpreters.
  8. Remote consulting — billable hours that don't get spent translating jargon.

The /use-case listing page has the full set with CSS-animated demos. The /demo route lets you experience translation against a scripted conversation — no account, no sign-up.


What Else Shipped

Compact list, for completeness:

  • Site-wide localization for ES / PT / RU / ZH with locale-prefix routing and hreflang on every public route
  • Auto-translate i18n on commit — we edit en.json, the other four locales are translated and re-staged in the same pre-commit hook (Gemini Flash → Sonnet fallback)
  • Single translation-language override — interface language and translation language used to be two settings that diverged; now they're one
  • Bug reports with attachments — on-demand screenshot, conference-button context, email delivery with a Sentry thread ID
  • In-app reply to bug reports — when we reply to your Sentry issue, the message lands back in your feed via an @reply convention
  • G2 social proof carousel with curated reviews on the landing page
  • Sitemap + robots.txt generation for SEO; redirected stray legacy URLs
  • In-app docs with AI chat — full knowledge base injected, search, walkable from /docs
  • Adaptive default page — sidebar reorders based on which area you actually use

Free Until June. Then Free Still Works.

The full platform is free for everyone through June 2026 — every plan tier, every feature, no credit card.

After June, billing activates. The Free plan keeps live voice and chat translation with a 40-minute meeting cap. Paid plans lift the cap and add per-license seat assignment, domain management, and data export.

If you're going to test InterMIND for your team, do it during the trial window. You get the full Business experience without paying for it, and your feedback shapes what beta locks in.

Try the demo — no sign-up → Create a free account — 30 seconds → See the use cases — find your scenario

— The Mind.com Team

Your team doesn't switch to English in the hallway. The meeting shouldn't make them switch either.