Model or dataset
Natively-AI-assistant/natively-cluely-ai-assistant avatar
Natively-AI-assistant/natively-cluely-ai-assistant

Natively: a source-available Cluely alternative that runs on your own keys

Natively — Free open-source AI meeting assistant, interview copilot, and note taker. The best alternative to Cluely, Otter, Granola, Final Round AI, Fireflies, and Interview Coder. Real-time transcription, AI meeting notes, lecture recording, local RAG, BYOK, and stealth mode. Runs locally. No subscriptions. No data breaches.

2,597 stars594 forksTypeScriptNOASSERTION

At a glance

What is it?
Natively is an Electron desktop assistant for meetings and interviews: live transcription, an overlay, local RAG and bring-your-own-key model access. It is free for personal use, and the licence is the thing to read before anything else.
Who is it for?
Natively fits individuals who want a local, bring-your-own-key meeting and interview assistant and who accept a personal, non-commercial licence: install the signed build from the releases page if you do not want to fight native modules, or clone the repository if you need to read the code first. It does not fit teams that need a commercial licence, a hosted service, or a supported SLA, because the repository offers none of those.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 5 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 25, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What Natively actually solves, and for whom

Natively is a desktop application that listens to a meeting or an interview, transcribes it, and puts model-generated answers or notes on screen while the conversation is still happening. The README frames it as a free alternative to Cluely, Final Round AI, LockedIn AI and Interview Coder, and says the overlay and shortcuts match Cluely's, so the intended user is someone who has already seen that class of tool. The stated audience is personal, educational, research and non-commercial use. That is not a marketing qualifier; it is the licence boundary, and the repository ships LICENSE, termsandcondition.md and refund.md alongside the code.

The second problem it addresses is data custody. The README's central claim is that competitors store recordings on their servers while Natively keeps keys, models and machine local. The .env.example backs that up structurally: every credential in it is a key you supply, from GROQ_API_KEY and OPENAI_API_KEY through to DEEPGRAM_API_KEY and AZURE_SPEECH_KEY. There is no Natively account in the file. That is the real differentiator, more than the feature list, and it is also the reason setup is longer than signing into a website.

The Electron pipeline: capture, transcribe, retrieve, respond

The repository is TypeScript with an Electron main process, a renderer, and a native-module directory. package.json points main at dist-electron/electron/main.js, and the build script runs the TypeScript compiler over tsconfig.json before vite build. The postinstall script is where the shape of the project becomes obvious: it runs patch-package, rebuilds sharp with SHARP_IGNORE_GLOBAL_LIBVIPS=1, rebuilds native Electron bindings, downloads models, ensures sqlite-vec, ensures napi-canvas macOS dependencies, patches the Electron plist, and verifies the native architecture. Any project with that postinstall is doing local inference and local vector search rather than proxying everything to a server.

The data flow the files describe is: audio comes in through a speech provider (Deepgram, ElevenLabs, Azure Speech, IBM Watson, Groq, Google, or a local path), text goes to a chat or vision model chosen by DEFAULT_MODEL, and retrieval runs against a local store. The presence of sqlite-vec, a models directory, a rerankerSettingsHarness.html, a retrievalSettingsHarness.html and a vision-benchmark.models.json says the retrieval stack is tunable rather than fixed. The optional Hindsight integration is the one part that leaves the machine: .env.example states that long-term memory across meetings requires installing @vectorize-io/hindsight-client and running a Hindsight server with Postgres and pgvector, and that with the NATIVELY_HINDSIGHT_* flags unset the memory provider is a no-op. Default behaviour is local; cross-meeting recall is opt-in infrastructure you host.

Installing Natively and running a first session

The README points end users at the releases page for signed macOS and Windows builds, and states the requirement as macOS 12+ (Apple Silicon and Intel) or Windows 10/11. For a first run, that path avoids the native rebuild chain entirely, and given the postinstall script, it is the path most people should take. Download the build for your platform from the latest release, install it, and open the app.

If you are building from source instead, package.json sets engines.node to >=22.6.0, so check that first, then install and start in development mode:

bash
npm install
npm run electron:dev

The install step is slow and can fail on native modules; the electron:dev script runs the web build, the Electron build, and then launches Electron with NODE_ENV=development. Before launching, copy .env.example to .env and fill in the providers you actually have. You do not need all of them. A minimal configuration for a local model looks like this:

bash
USE_OLLAMA=true
OLLAMA_MODEL=llama3.2
OLLAMA_URL=http://localhost:11434
DEFAULT_MODEL=gemini-3-flash-preview

With Ollama running on port 11434 the chat path stays on your machine. If you prefer a hosted model, set the matching key instead, for example OPENAI_API_KEY or CLAUDE_API_KEY, and point DEFAULT_MODEL at a model that key can reach. One warning is written directly into .env.example: leave GOOGLE_APPLICATION_CREDENTIALS commented out unless you have a real service-account file, because the app persists whatever is set there and a non-existent path makes the Google Speech SDK throw ENOENT on every STT start and on quit. After the app is open, the workflow is the one the README describes: start capture, speak or play audio, and read the transcript and generated output in the overlay.

Where Natively gets in the way

The licence is the first limitation and the most consequential. GitHub reports the licence as NOASSERTION, the README badge says Personal Use Source, and the README text says free for personal, educational, research and non-commercial use. That combination means a company cannot assume it may deploy this internally, and the repository does not document a commercial path. The README also calls the project source-available rather than open source, which is a deliberate distinction: you can read the code, but the licence does not grant the freedoms an OSI-approved licence would.

Platform support is narrow. The README lists macOS 12+ and Windows 10/11 and does not mention Linux, despite the codebase containing macOS-specific steps such as ensure-napi-canvas-mac-deps.js and patch-electron-plist.js. The build chain is another constraint: a postinstall that rebuilds sharp, native Electron bindings and sqlite-vec is fragile across Node versions and architectures, which is why the project ships a verify-native-arch.js script at all. If you are not comfortable debugging native module failures, use the release build.

Finally, the stealth positioning deserves a plain statement. The repository topics include cheating, and the README's keyword block names HireVue and HackerRank. Nothing in the files describes a detection guarantee, and the README does not document what a proctoring tool can or cannot observe. Treat any claim of undetectability as unverified.

Cluely, Granola and Otter: what changes when the model is yours

The README names Cluely, Otter, Granola, Final Round AI, Fireflies and Interview Coder as the alternatives it targets. The difference is not the overlay; it is where the work happens. Otter and Fireflies are hosted services: you send audio to their infrastructure, they run the models, and the transcript lives in their account. Granola follows a similar hosted pattern for meeting notes. Natively inverts that. Your audio goes to whichever speech provider you configured, your text goes to whichever chat model you configured, and retrieval runs against a local sqlite-vec store. The cost model changes with it: instead of a subscription you pay per token to your provider, or nothing at all if you run Ollama locally.

The trade is real. Hosted tools give you a working account in minutes, shared team workspaces, and someone else handling model upgrades. Natively gives you a .env file, a native build chain, and a personal-use licence. If you want the hosted convenience and do not care where the audio lands, Natively is the wrong tool. If the reason you are looking is that you do not want your interview or meeting audio on someone else's server, the architecture here is the point.

Maintenance, upgrades and what the licence lets you do

The last push to the default branch was on 2026-09-09, and the repository is not archived. Releases are irregular rather than weekly: v2.6.0 on 2026-05-06, v2.7.0 on 2026-06-05, and V2.8.8 on 2026-08-26, while package.json already carries version 2.9.0. That gap between the released tag and the in-repo version is normal for this project and tells you the main branch runs ahead of the signed builds.

Upgrade cost is dominated by the native stack. Because postinstall rebuilds sharp, native Electron bindings and sqlite-vec, and because the build script invokes a vendored TypeScript under node_modules/typescript7, a Node upgrade or an Electron bump can break the install. The repository includes typecheck:ts5 and typecheck:ts7 scripts, which suggests the project is tracking two TypeScript compilers at once; expect that to be the area where a source build fails first. On the licence side, the README's personal, educational, research and non-commercial framing, plus the separate termsandcondition.md and refund.md files, means the terms are written down rather than implied. Whether your specific use qualifies is a question for your own legal review; the repository states the boundary but does not interpret it for you.

Editorial conclusion

Natively fits individuals who want a local, bring-your-own-key meeting and interview assistant and who accept a personal, non-commercial licence: install the signed build from the releases page if you do not want to fight native modules, or clone the repository if you need to read the code first. It does not fit teams that need a commercial licence, a hosted service, or a supported SLA, because the repository offers none of those. Before you commit, verify three things: the actual terms in LICENSE, since GitHub reports NOASSERTION and the README calls it source-available rather than open source; that your chosen provider key works in .env.example's DEFAULT_MODEL slot, since a misconfigured Google Speech path throws ENOENT on every STT start; and whether the platform you run is covered, because the README lists macOS 12+ and Windows 10/11 and nothing else.

Frequently asked questions

Which is better, Parakeet AI or Cluely?

The repository does not compare Natively against Parakeet AI, and Parakeet appears only in the README's keyword block as a term the project associates itself with. No feature or pricing comparison between Parakeet AI and Cluely is documented in the files.

Can HackerRank detect Cluely?

The repository does not answer this. HackerRank is named in the README's keyword block and the repository topics include cheating, but no file documents detection behaviour for Cluely or for Natively, so no claim can be made either way.

Is Natively AI free?

The README says it costs $0 for personal, educational, research and non-commercial use, and the licence badge reads Personal Use Source. Model usage is separate: you supply your own provider keys, or run a local model such as Ollama, so any cost comes from your provider rather than from Natively.

Is there a real-time AI interview assistant available?

Natively is one: the README describes native audio capture with a stated sub-500ms figure and an overlay that shows generated responses during the session. It runs on macOS 12+ or Windows 10/11 and is free for personal, non-commercial use.

Official sources

  1. Issues
  2. Natively-AI-assistant/natively-cluely-ai-assistant on GitHub
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/natively-ai-assistant-natively-cluely-ai-assistant.svg)](https://hysenlabs.com/projects/natively-ai-assistant-natively-cluely-ai-assistant)