
Who vexa is for#
Developers building meeting intelligence products
Vexa's REST and WebSocket API let you send a bot, receive a real-time transcript stream, and query accumulated meeting history in one self-hosted deployment. The MCP server means AI coding agents can access meeting context without custom connectors.
Skip if:
Your product does not need live meeting access and can work from pre-existing transcript files. A simpler speech-to-text API with offline audio processing is a lighter path in that case.
Regulated enterprises with confidential meeting data
Legal, finance, and healthcare teams whose compliance policies prohibit sending meeting audio to third-party clouds can run the full Vexa stack inside their own infrastructure. Air-gap mode requires no outbound connections once deployed, including for transcription when a local GPU runs the STT service.
Skip if:
Your organization lacks an infrastructure team to maintain a Docker Compose or Kubernetes deployment. Hosted transcription services handle infrastructure on your behalf, at the cost of data residency.
Engineering teams automating post-meeting knowledge work
Vexa's agentic runtime compiles meeting transcripts into a Markdown knowledge base that coding agents like Claude Code can read and write. Teams can automate post-meeting briefings, action item tracking, and knowledge base updates without building the capture pipeline themselves.
Skip if:
Your team only needs meeting summaries. Tools with simpler setup may be faster for summary-only use cases where a queryable knowledge base is not required.
Teams on Kubernetes needing scalable bot infrastructure
The Helm chart in `deploy/helm` deploys the full control plane with `RUNTIME_BACKEND=k8s`, where each bot and agent runs as a separate Kubernetes Pod. Capacity scales with the cluster scheduler rather than a fixed compute allocation.
Skip if:
Your team is not yet familiar with Kubernetes operations. Start with the Docker Compose path (`make all`) and migrate to Kubernetes after validating the stack on Docker.
The problem it solves#
Most meeting transcription tools work the same way: a bot joins your call, audio travels to a third-party cloud, and you receive a transcript through their web app or API. Your conversations are processed on someone else's infrastructure, stored in their database, and subject to their pricing, privacy policy, and uptime decisions.
For teams in regulated industries or organizations handling confidential client discussions, sending meeting audio to a commercial platform is not acceptable. For developers building products on top of meeting data, depending on a proprietary API with per-seat or per-minute pricing creates costs that scale against you. The transcription market is also fragmented: tools that handle capture well are separate from tools that handle downstream knowledge work, leaving teams to stitch together multiple paid subscriptions.
How it solves it#
Real-Time WebSocket Transcription
Bot joins live meetings and streams speaker-attributed transcripts as they happen over a WebSocket API. Each transcript segment includes the speaker name, allowing downstream systems to process spoken content by participant without additional post-processing.
Multi-Platform Bot Fleet
Supports Google Meet, Microsoft Teams, Zoom, and Jitsi from a single API. Send a bot with a `POST /bots` call, specifying the platform and the meeting ID from the join URL. All four platforms use the same request format.
MCP Server for AI Agents
Ships a Model Context Protocol (MCP) server so AI coding agents (Claude Code, Codex, and others) can query your meeting history directly, without a custom integration layer. This connects meeting transcription data to the agent's tool-call context natively.
Agentic Knowledge Base
Compiles meeting transcripts into Markdown files stored in a git repository using the Open Knowledge Format. Sandboxed agents run in isolated, ephemeral containers on Docker or Kubernetes to read and write that repository. This layer is self-hosted only.
Docker and Kubernetes Deployment
Full-stack Docker Compose deployment with `make all`, or Kubernetes via the Helm chart in `deploy/helm`. The same `runtime.v1` workload runs bots and agents identically across Docker, process, and Kubernetes backends with no code changes.
Air-Gap Ready Infrastructure
Every component runs inside your network, including an optional self-hosted speech-to-text service based on faster-whisper. No meeting data leaves your infrastructure, which satisfies the zero-egress posture regulated environments require.
Strengths and trade-offs#
Strengths
- Apache-2.0 License with Self-HostingThe entire stack is Apache-2.0 licensed, meaning you can fork, modify, and run it commercially with no licensing fees. Unlike Recall.ai or Fireflies.ai, there is no per-seat fee, no per-minute transcription charge, and no dependency on a vendor's API terms after deployment.
- Real Bot Joins Meetings as a ParticipantA real bot joins the meeting on Meet, Teams, Zoom, and Jitsi and shows up in the participant list. This is not screen-recording or a browser tab approach. Producing live, attributed transcripts from inside the call is the technically hard part that most self-hosted alternatives do not solve.
- Knowledge Stored as Files You OwnMeeting content compiles to Markdown in a git repository rather than a proprietary database. The files are portable, diffable, searchable with standard tools, and usable by any AI agent or downstream system without a vendor API call.
- API-First with Full Programmatic AccessEvery capability (bot dispatch, transcript streaming, agent invocation, routine scheduling) is available as a REST or WebSocket endpoint. Teams can integrate Vexa into existing workflows without the Terminal UI, treating it purely as a transcription and knowledge API.
Trade-offs
- -High Resource Requirements for Full StackThe full Docker Compose deployment (`make all`) requires at least 8 vCPUs and 16 GB RAM on Linux. The lighter `make lite` option reduces resource needs but does not include all services. This makes Vexa impractical on small VPS instances or shared hosting environments.
- -GPU Required for Air-Gapped TranscriptionThe self-hosted speech-to-text service requires a GPU for practical performance. Teams without local GPU hardware must use the free hosted transcription token from vexa.ai, which reintroduces an external cloud dependency for the core transcription step.
- -293 Open Issues at Version 0.12The repository had 293 open GitHub issues at cataloging time, which is high for a v0.12 project. This reflects active development and a growing user base, but also signals that some features and platform edge cases are still being resolved.
- -Agentic Layer Is Self-Hosted OnlyThe sandboxed knowledge agents and workspace features are not available on the vexa.ai hosted service. Teams who want the full agentic runtime must deploy their own instance, adding setup complexity beyond the transcription-only path.
vexa vs alternatives#
Vexa vs Fireflies.ai
Fireflies.ai is a hosted SaaS meeting assistant that deploys bots to join calls, produces transcripts, and surfaces action items through a web dashboard. Both products join live meetings, but Fireflies routes all audio through its cloud.
| Feature | Vexa | Fireflies.ai |
|---|---|---|
| License | Apache-2.0 (open source) | Proprietary SaaS |
| Self-hosting | Yes | No |
| Data residency | Your infrastructure | Fireflies servers |
| Platforms | Meet, Teams, Zoom, Jitsi | Meet, Teams, Zoom, Webex |
Vexa is the better choice when data residency is a hard requirement, when you are building on top of meeting data via API, or when subscription costs at scale are a concern. Fireflies.ai is worth considering when your team wants a turnkey dashboard with no infrastructure to manage.
Vexa vs Otter.ai
Otter.ai targets consumer and small-team transcription with a simple web and mobile interface. Vexa targets developers who need programmatic API access to meeting data.
| Feature | Vexa | Otter.ai |
|---|---|---|
| License | Apache-2.0 (open source) | Proprietary SaaS |
| API access | Full REST and WebSocket | Limited |
| Self-hosting | Yes | No |
| Platforms | Meet, Teams, Zoom, Jitsi | Meet, Teams, Zoom |
Vexa is the better fit for technical teams integrating transcription into a product. Otter.ai is simpler for non-technical users who want transcription without infrastructure setup and are comfortable with their meeting data on Otter's servers.
Vexa vs Recall.ai
Recall.ai is a commercial meeting bot API for developers: the closest competitive comparison to Vexa. Both are API-first products targeting developers who need programmatic meeting access.
| Feature | Vexa | Recall.ai |
|---|---|---|
| License | Apache-2.0 (open source) | Proprietary API |
| Self-hosting | Yes | No |
| Data residency | Your infrastructure | Recall servers |
| Agentic knowledge layer | Yes (self-hosted) | No |
Vexa wins when self-hosting is required for compliance or when usage-based API costs at scale are a concern. Recall.ai is reasonable when you need the meeting bot capability without running your own infrastructure and can accept routing meeting data through a third party.
Install and self-host#
Self-hosting runs via Docker Compose on a Linux host with at least 8 vCPUs and 16 GB RAM.
```bash
git clone https://github.com/Vexa-ai/vexa.git && cd vexa
make all
make bot
```What it's built on#
- Languages
- JavaScriptPythonTypeScript
- Frameworks
- Next.jsReact
- Tooling
- esbuild
FAQ#
Does Vexa require a GPU to run?
The GPU is required only if you self-host the speech-to-text service for a fully air-gapped deployment. By default, make all runs without a GPU and connects to a hosted transcription token from vexa.ai. To remove that external dependency, stand up the faster-whisper-based STT service from deploy/transcription on a GPU host and point the .env file at it.
Which meeting platforms does Vexa support?
Vexa supports Google Meet, Microsoft Teams, Zoom, and Jitsi. You send a bot by posting the platform name and the meeting ID from the join URL to POST /bots. All four platforms use the same API call format, and the platform value is google_meet, teams, zoom, or jitsi.
Is Vexa the same as Fireflies.ai or Otter.ai?
Vexa is not a hosted service like Fireflies.ai or Otter.ai. It is a self-hosted API you deploy on your own infrastructure. You get the same core capability (bots that join meetings and transcribe in real time), but transcripts and audio never leave your servers, and there is no per-seat or per-minute fee.
How do I get started with Vexa?
Clone the repository, run make all on a Linux host with at least 8 vCPUs and 16 GB RAM, then make bot to build the meeting bot image. When make all finishes it prints your API key and the local URLs for the Terminal UI and the API gateway. Use make lite on smaller machines for initial evaluation.
What is the agentic knowledge base feature in Vexa?
Beyond transcription, Vexa includes an optional runtime that compiles meeting transcripts into a Markdown knowledge base stored in a git repository. Sandboxed AI agents read and write that repository in isolated, ephemeral containers. This layer is self-hosted only and requires the full Docker Compose or Kubernetes deployment.
Similar open-source tools#
whishper
Local speech-to-text transcription and subtitling with a web UI
Handy
Free offline speech-to-text: runs on Windows, macOS, and Linux
FluidVoice
Voice-to-text for macOS with on-device AI and zero cloud dependency
omi
Open AI memory assistant for meetings, screens, and wearables
Ghost Pepper
Local voice dictation and meeting transcription for macOS
whisper-asr-webservice
Self-hosted speech recognition API built on OpenAI Whisper

