FAQ

Your questions, answered.

Everything you need to know about Undrift — from getting started to what's happening under the hood.


Organized by topic. Select any section to expand it.

General 4 questions

Undrift is an AI-powered meeting facilitation tool that helps you keep your meetings on agenda. You give it your agenda before the session starts, it listens to what’s being said during the meeting, and it flags when the conversation drifts off-topic — in real time, so you can redirect while it still matters.

It also generates diplomatic redirect scripts you can say out loud, helps you capture action items, decisions, and off-agenda topics, and produces a scored report when the session ends. Think of it as a co-facilitator that watches the agenda so you can stay present in the room.

Yes — Undrift is completely free during Open Beta. No credit card, no trial period, no limits on sessions. Open the app, paste your agenda, and go.

Paid plans are planned for after the beta period ends, but current beta users will receive advance notice before anything changes. The goal right now is to get Undrift into real meetings and learn from how people use it.

No. Undrift requires no account, no sign-up, and no login. Open app.undrift.io in Chrome or Edge, agree to the terms, and you’re in. Your session data stays in your browser and is never stored on our servers.

Best experience: Chrome or Edge on a desktop or laptop (Windows or macOS). This is where all features work, including live microphone capture and real-time drift detection.

Limited experience: Undrift is mobile-responsive and usable on phones and tablets, but live transcript and mic features require Chrome or Edge on desktop. Safari and Firefox do not support the browser speech recognition API Undrift depends on — the core facilitation UI works, but the mic will be unavailable.

If you’re facilitating a meeting, a laptop running Chrome or Edge is strongly recommended.

Set Up & Onboarding 4 questions

There are three ways, and you only need one:

Build it in the form. Type your agenda items directly into the form on the Setup screen — topic, duration, and type for each item. Good for quick sessions or when you’re building the agenda on the fly.

Upload a template. Download the .md template or .txt template, fill it in ahead of time, and upload it. Undrift parses it automatically. Good for recurring meetings or when you prep in advance.

Paste and parse. Copy any agenda text — from an email, a doc, a bullet list, whatever you have — paste it into the Paste & Parse tab, and the AI extracts the structure for you. Good for when someone else wrote the agenda.

All three methods land you in the same place: a reviewable form where you can adjust anything before launching.

The Preflight Check is a review screen that appears after you fill in your agenda but before the session starts. It shows a summary of your meeting — title, date, duration, agenda items, objectives, and sensitivity setting — so you can confirm everything looks right.

It’s also where Undrift gives you a brief co-facilitator briefing: a plain-language summary of what it will be watching for during the session, based on your agenda and objectives. Once you hit Start the session, the clock starts and the session is live.

Sensitivity controls how aggressively the AI flags off-topic conversation. There are three levels:

Gentle — Only flags clear, obvious drift. Good for loose or creative sessions where some wandering is expected and welcome.

Balanced — The default. Flags moderate drift and tangents when the conversation has noticeably moved off the current agenda item. Works well for most professional meetings.

Vigilant — Flags early and proactively. Good for tight, time-pressured sessions where staying on agenda is critical and every minute counts.

You can adjust sensitivity during a live session using the slider in the top bar — you don’t have to commit to one setting for the whole meeting.

The 60-minute cap is a temporary Open Beta constraint. Each session involves real AI API calls as Undrift analyzes the live transcript, and without usage limits, costs could scale unpredictably while the product is still finding its footing.

In practice, most meetings that benefit most from facilitation support fall well within 60 minutes. If your sessions regularly run longer, that’s valuable feedback — let us know via the in-app feedback form and it will directly inform when and how we raise the limit.

The Session 5 questions

When the microphone is active, Undrift converts speech to text in real time using your browser’s built-in speech recognition. That transcript is periodically sent — in short chunks — to an AI that compares what’s being said against the current agenda item.

When the AI determines the conversation has moved off-topic, a flag appears in the live feed with a brief description of what drifted and how far off course the conversation has gone. Flags are color-coded by severity: mild drift shows as a yellow flag, significant drift as a red alert.

The AI doesn’t analyze every word as it’s spoken — it waits for a meaningful chunk of new speech before running an analysis. This keeps it from triggering on a single off-topic sentence while still catching sustained drift quickly.

When drift is detected, Undrift can generate a redirect suggestion — a short, diplomatically-worded script you can say out loud to bring the conversation back on track. It’s written to sound like you, not like a bot: calm, specific to what was being discussed, and non-blaming.

Redirect suggestions appear automatically when the AI detects significant drift and judges that a redirect would help. You can also request one manually at any time using the Suggest redirect button in the action bar.

You’re never obligated to use a redirect suggestion — it’s there if you want it. Dismiss it, copy it, or just read it and say something similar in your own words. You’re still the one running the room.

The parking lot is a place to capture off-agenda topics that come up during the meeting — things that are worth discussing but don’t belong in the current conversation. It gives you a graceful way to acknowledge an idea without letting it derail the agenda: “Good point — I’m going to park that so we can come back to it.”

Parked items are saved to the right panel during the session and appear in the post-session report alongside your action items and decisions. Nothing gets lost, and everything that was parked is visible when you need to follow up.

Yes. The microphone enables live transcript and automatic drift detection, but everything else works without it: the agenda timer, manual action item and decision capture, the parking lot, time check, and the post-session report.

If you’re in a browser that doesn’t support mic capture (Safari, Firefox), or if you just prefer not to use it, you can type observations directly into the manual input bar at the bottom of the session. Anything you type is analyzed by the AI the same way spoken transcript is — so you can still get drift flags and redirect suggestions, just by typing instead of speaking.

Hitting Mark complete closes the current agenda item and automatically advances to the next one. The item is timestamped, the elapsed time is recorded, and the agenda progress bar updates. Undrift then refocuses its drift detection on the new active item.

You can mark items complete in any order — if you skip around or finish early, the session keeps tracking. The completed item’s actual duration versus its allocated time will show up in the post-session report.

Report 4 questions

The report generates automatically when you end the session. It includes:

Focus score — A 0–100 score reflecting how well the meeting stayed on agenda, weighted by drift severity, recovery rate, and agenda coverage.

Scorecard — At-a-glance metrics: agenda items completed, total flags raised, dominant speaker alerts, and objectives met.

Agenda breakdown — Each item with its allocated time, actual time, and completion status. Overruns are highlighted.

Captured items — All action items, decisions, parking lot entries, and facilitator notes logged during the session, in the order they were captured.

Drift log — A timestamped record of every flag and drift event, including what the AI detected and how severe it was.

The report is designed to be shareable — either as a downloaded Markdown file or copied directly from the screen.

The focus score is a composite measure of how well the meeting stayed on track. It takes into account agenda coverage (how many items were completed), on-topic time (how much of the session was spent on the active agenda item), drift frequency and severity, and how quickly drift was recovered from when it occurred.

A score in the 80s or above generally means the meeting ran tightly. 60–80 is solid with some drift. Below 60 suggests the agenda had a hard time holding the conversation. The score is meant to be a useful signal, not a judgment — some meetings are supposed to be exploratory, and a lower score in that context isn’t a failure.

Yes. At the end of the session, the report screen gives you two export options:

Download as Markdown — A clean .md file containing the full report: score, scorecard, agenda breakdown, and all captured items. Works well in Notion, Obsidian, GitHub, or any Markdown-aware tool. Easy to paste into a shared doc or email.

Download as PDF — A formatted PDF version of the report, ready to attach to a follow-up email or drop into a project folder.

There’s no “share link” feature currently — reports aren’t stored on our servers, so sharing means downloading and sending the file.

No. Session data lives entirely in your browser for the duration of the session. When you close the tab, it’s gone. Undrift doesn’t store session content, transcripts, or reports on any server.

This is intentional — it’s part of how Undrift keeps your meeting content private. The tradeoff is that if you want a record of the session, you need to download the report before closing the tab. There’s a prominent download prompt at the end of every session for exactly this reason.

Troubleshooting 4 questions

Work through these in order:

Browser. Undrift requires Chrome or Edge for mic support. Safari and Firefox don’t support the Web Speech API. If you’re on either of those, the mic won’t work regardless of other settings.

Browser permissions. When you first click the mic button, Chrome or Edge will ask for microphone access. If you denied it, you’ll need to re-enable it — click the lock icon in the address bar, find Microphone, and set it to Allow. Then refresh the page.

System permissions. On macOS, Chrome and Edge need microphone access granted at the OS level too. Go to System Settings → Privacy & Security → Microphone and make sure your browser is listed and enabled. On Windows, check Settings → Privacy & security → Microphone.

Input device. If you have multiple audio inputs, your browser may be defaulting to the wrong one. Check your system sound settings and make sure the correct mic is set as the default input.

If you’ve checked all of the above and the mic still isn’t working, the manual input bar at the bottom of the session is a full fallback — everything you type is analyzed the same way.

A few things to check:

Is the mic on? Drift detection requires live transcript. If the mic button isn’t active (red), Undrift isn’t hearing the conversation. You can also type observations manually into the input bar to trigger analysis without the mic.

Sensitivity setting. On Gentle, only clear and sustained drift gets flagged. If the conversation has drifted but not dramatically, try switching to Balanced or Vigilant using the slider in the top bar.

Agenda item context. The AI flags drift relative to the current agenda item. If the topic that came up is loosely related to what’s on the agenda, the AI may judge it as on-topic. More specific agenda item titles generally produce more accurate drift detection.

Analysis timing. Undrift batches transcript analysis rather than analyzing every sentence. There’s a short delay — usually a few seconds — between when drift starts and when a flag appears. If the conversation self-corrected quickly, the flag may not have fired.

If none of the above explains it, use the Suggest redirect button to manually trigger an AI analysis of the current transcript at any time.

Start with the basics:

Hard refresh. Press Ctrl+Shift+R (Windows) or Cmd+Shift+R (Mac) to force a full reload and clear any cached version of the page.

Check your browser. Undrift is built and tested for Chrome and Edge. If you’re on another browser, some things may not render correctly. Switch to Chrome or Edge if you haven’t already.

Check the console. If you’re comfortable with browser DevTools, open the console (F12 → Console tab) and look for red errors. That information is genuinely helpful when you report a bug.

If the problem persists, please report it using the in-app feedback form (the Feedback link in the top bar) or email support@undrift.io. Screenshots and browser/OS details help a lot.

The best way is the in-app feedback form — click Feedback in the top bar of the app at any point. There are separate forms for bugs, feature requests, and general feedback, and each one asks for just the right context to make your report actionable.

You can also email hello@undrift.io directly. Bug reports, feature ideas, complaints, and praise all land in the same inbox and all get read. Undrift is in Open Beta specifically to learn from real use — your feedback directly shapes what gets built next.

How It Works 4 questions

Undrift uses your browser’s built-in speech recognition to convert spoken conversation into a live text transcript. Every few seconds, a chunk of new transcript is sent to an AI along with your full agenda, your stated objectives, and the identity of the current active agenda item.

The AI’s job is to compare what was just said against what’s supposed to be happening right now. If it determines the conversation has moved off-topic — whether that’s a tangent, a topic from a different agenda item, or something unrelated to the meeting entirely — it returns a structured response that includes a drift flag, a severity rating, a description of what drifted, and optionally a redirect script.

The more specific your agenda item titles and objectives are, the more accurately the AI can judge what belongs in the conversation and what doesn’t.

Audio is never recorded or transmitted. Speech-to-text happens entirely inside your browser using the Web Speech API — the audio stream is processed locally and never leaves your device.

Text transcript chunks are sent to the AI for analysis, but Undrift does not log, store, or retain them after the API call completes. The transcript exists only in your browser tab for the duration of the session. When you close the tab, it’s gone.

The only data Undrift collects is standard anonymous usage analytics (page views, session counts) via Google Analytics. No meeting content, transcript text, or personally identifiable information is ever collected. See the Privacy Policy for the full picture.

Undrift uses Claude by Anthropic for all AI analysis — drift detection, redirect script generation, agenda parsing, and the co-facilitator briefing on the Preflight Check screen. Specifically, it uses Claude Sonnet, Anthropic’s balanced model, chosen for its combination of speed, accuracy, and cost efficiency for real-time use.

API calls are routed through a serverless proxy so your Anthropic API key is never exposed in the browser. The AI sees only what it needs to do its job: your agenda, your objectives, and the current transcript chunk. Nothing else.

Partially. The core session UI — agenda timer, progress tracking, manual capture of action items, decisions, parking lot entries, and notes — works without an internet connection once the page has loaded.

AI features require a live connection: drift detection, redirect suggestions, agenda parsing via Paste & Parse, and the Preflight Check briefing all involve API calls that can’t run offline. If you lose connectivity mid-session, the manual input and capture tools remain available as a fallback.

Under the Hood 4 questions

Undrift uses the browser-native SpeechRecognition API (also known as the Web Speech API), available in Chrome and Edge. When you activate the mic, the browser opens an audio stream from your selected input device, processes it locally, and emits a stream of transcript events — both interim results (words as they’re being spoken) and final results (confirmed utterances).

Undrift listens only to final results. Each confirmed utterance is appended to a running transcript buffer and simultaneously displayed in the live transcript panel. The interim text (the “in-progress” words) is shown in the STT bar at the bottom of the session as visual feedback that the mic is active and picking up speech, but it’s discarded once the final result arrives.

The SpeechRecognition instance is configured with continuous: true and interimResults: true, and automatically restarts if the browser ends the session mid-conversation — which Chrome does periodically as a battery and resource management measure. The restart is silent and seamless from the user’s perspective.

Audio never leaves the device. The Web Speech API processes audio locally in the browser engine; only the resulting text is passed to Undrift’s JavaScript and subsequently to the AI.

Every time a final transcript result arrives, a debounce timer resets. When the timer fires — after a short silence, typically 2–6 seconds depending on sensitivity setting — Undrift checks whether enough new words have accumulated since the last analysis. If they have, it fires an API call.

Each API call sends a structured prompt containing:

System context: your meeting title, date, facilitator name, full agenda with item types and durations, stated objectives, sensitivity setting, and a description of what that sensitivity level means behaviorally.

User message: the current active agenda item, how much time has elapsed on it versus its allocation, how many items remain, a window of recent new transcript (the text since the last analysis), and a short trailing context window from earlier in the conversation.

The AI responds with a structured JSON object — not free text — that Undrift parses to determine whether to post a flag, what severity to assign, whether to generate a redirect script, and what the current sentiment of the room appears to be.

A per-sensitivity cooldown prevents the API from being called more frequently than once every 5–12 seconds regardless of how much speech is coming in. This keeps costs predictable and prevents the feed from flooding with overlapping flags.

Undrift is a client-side web app — there’s no traditional backend. But making Anthropic API calls directly from the browser would require embedding an API key in the JavaScript, where anyone could extract it from the source. To avoid that, all AI requests are routed through a lightweight serverless function hosted on Vercel.

The proxy (api/analyze.js) is a single Vercel Edge Function that receives the request from the browser, attaches the Anthropic API key from a server-side environment variable, forwards the request to the Anthropic API, and streams the response back. The key never touches the browser. The function itself contains no business logic — it’s purely a secure passthrough.

This pattern is standard practice for client-side apps that need to call authenticated third-party APIs without exposing credentials. The tradeoff is a small amount of added latency on each request (typically under 100ms) as the request hops through Vercel’s edge network before reaching Anthropic.

The live transcript and drift detection features depend on the SpeechRecognition API, which is part of the Web Speech API specification. Despite being proposed as a web standard, browser support is inconsistent:

Chrome and Edge ship with full, stable SpeechRecognition support. Both are built on the Chromium engine and use Google’s speech recognition infrastructure under the hood. This is where Undrift works as intended.

Safari does not implement SpeechRecognition. Apple has not added support for it in WebKit, so there is no workaround — the API simply isn’t available regardless of macOS or iOS version.

Firefox has partial implementation behind a flag, but it’s off by default and not stable enough for production use. Effectively, Firefox is unsupported for mic features.

The rest of Undrift — the setup flow, the session UI, manual capture, and the report — is standard HTML, CSS, and JavaScript that works in any modern browser. The Chrome/Edge requirement applies only to the features that use the microphone. If a suitable cross-browser alternative to SpeechRecognition becomes viable, broader browser support is on the roadmap.