Overview
Frajola is a free desktop application that records your meetings directly from your computer's audio output and microphone — no bot joins your calls. It transcribes audio locally with Whisper and generates AI meeting notes with Ollama. Everything runs on your machine by default.
Frajola works with any meeting platform: Zoom, Google Meet, Teams, Discord, phone calls, or even in-person meetings.
Key Features
- Privacy-first — All audio, transcripts, and summaries stay on your machine by default
- No bots — Records from your audio output directly, invisibly
- Cross-platform — Windows, macOS, and Linux
- Local AI — Transcription via Whisper, notes via Ollama, no cloud needed
- Meeting library — Full-text search across all your meetings
- Export — Markdown and PDF
Quick Start
Get up and running in three steps:
1. Download Frajola
Download the installer for your platform from the home page.
2. Install Ollama (for AI notes)
Frajola uses Ollama for local AI-generated meeting notes. Install it from ollama.com, then pull a model:
ollama pull llama3.2:3b
See Set Up Ollama for detailed instructions and model recommendations.
3. Record your first meeting
Open Frajola, click Start Recording, join your meeting, and click Stop when done. Frajola will transcribe the audio and generate notes automatically.
System Requirements
Supported Operating Systems
- macOS — 12 (Monterey) or later
- Windows — 10 or later
- Linux — Ubuntu 20.04+, Fedora 35+, or equivalent (PulseAudio or PipeWire)
Hardware Recommendations
For local transcription (Whisper), the following is recommended based on model size:
| Model | RAM Needed | Speed | Accuracy |
|---|---|---|---|
| tiny | ~75 MB | Very fast | Low |
| base (default) | ~142 MB | Fast | Good |
| small | ~466 MB | Medium | Better |
| medium | ~1.5 GB | Slow | Great |
| large-v3 | ~3 GB | Very slow | Best |
The base model is the default and works well on most machines. Older or low-RAM machines should use tiny.
For local AI notes (Ollama), at least 8 GB of RAM is recommended. The smallest model (Llama 3.2 3B) requires about 2 GB.
Install Frajola
Download
Download the latest release for your platform:
- macOS —
.dmginstaller - Windows —
.msiinstaller - Linux —
.AppImageor.deb
Installers are available on the download page.
Set Up Ollama
Ollama is a local AI runtime that Frajola uses to generate meeting notes. It runs models entirely on your machine — no data is sent to the cloud.
Install Ollama
- macOS / Linux:
curl -fsSL https://ollama.com/install.sh | sh - Windows: Download the installer from ollama.com/download
Pull a Model
After installing, pull a model. We recommend starting with Llama 3.2 3B — it's small, fast, and produces good summaries:
ollama pull llama3.2:3b
Verify Ollama is Running
Ollama runs as a background service on port 11434. You can verify it's working with:
curl http://localhost:11434/api/tags
You should see a JSON response listing your installed models.
Recommended Models
| Model | Size | Speed | Quality | Best For |
|---|---|---|---|---|
| Llama 3.2 3B | 2 GB | Fast | Good | Quick summaries, low-RAM machines |
| Mistral 7B | 4 GB | Medium | Better | Detailed meeting notes |
| Llama 3.1 8B | 5 GB | Medium | Great | Best local quality |
| Qwen 2.5 7B | 4 GB | Medium | Great | Multilingual (English + Portuguese) |
Tip: If you have 16 GB of RAM or more, try Llama 3.1 8B for the best quality. On 8 GB machines, Llama 3.2 3B is the safest choice.
You can change the model at any time in Frajola's settings.
Whisper Models
Frajola uses whisper.cpp (via whisper-rs) for local audio transcription. Whisper supports over 99 languages and automatically detects the language being spoken.
Available Models
| Model | Download Size | Speed (relative) | Accuracy |
|---|---|---|---|
| tiny | 75 MB | ~32x real-time | Low |
| base (default) | 142 MB | ~16x real-time | Good |
| small | 466 MB | ~6x real-time | Better |
| medium | 1.5 GB | ~2x real-time | Great |
| large-v3 | 3 GB | ~1x real-time | Best |
The speed column shows approximately how much faster than real-time each model processes audio on modern hardware. For example, base at 16x real-time means a 1-hour meeting would take about 4 minutes to transcribe.
Recommendation: Start with base. If transcription quality is not sufficient for your language or use case, try small. Only use medium or large-v3 if you need maximum accuracy and don't mind waiting longer.
You can change the Whisper model in settings. The model is downloaded automatically when first used.
Recording a Meeting
Frajola records audio from two sources simultaneously:
- System audio — What other participants are saying (the meeting output)
- Microphone — Your own voice
How to Record
- Open Frajola
- Click Start Recording
- Join or start your meeting in any app (Zoom, Meet, Teams, etc.)
- Use Pause / Resume as needed
- Click Stop Recording when done
Recording captures audio in WAV format (16-bit PCM, 16kHz mono) optimized for Whisper compatibility. A 1-hour meeting is approximately 115 MB.
Note: Frajola records from your system's audio output — no bot joins the call. Other participants cannot see or detect the recording.
Transcription
After recording stops, Frajola automatically transcribes the audio. Depending on your privacy mode, this happens either locally (via Whisper) or via a cloud API.
How It Works
- Local mode (default) — Whisper runs on your machine. No audio data leaves your device.
- Cloud mode — Audio is sent to the OpenAI Whisper API for transcription. Requires an API key.
Whisper automatically detects the language being spoken. You can also set a preferred language in settings for more reliable detection.
Speaker Detection
The current version uses basic voice activity detection (VAD) — silence gaps longer than 2 seconds are treated as potential speaker changes. This is a simple heuristic and may mislabel speakers in fast-paced conversations.
Limitation: True speaker diarization (identifying who said what) requires ML models and is planned for a future version. The current approach works best in 1-on-1 meetings or when speakers take clear turns.
AI Meeting Notes
After transcription, Frajola generates structured meeting notes using AI. The output includes:
- Summary — A concise overview of the meeting
- Key Points — The most important topics discussed
- Action Items — Tasks and follow-ups mentioned, with assignees when identified
- Decisions — Decisions that were made during the meeting
AI Providers
- Ollama (default) — Runs locally, free, no data leaves your device
- OpenAI (opt-in) — Uses GPT models via API, requires your own key
- Anthropic (opt-in) — Uses Claude models via API, requires your own key
The AI prompt includes the full transcript and requests structured output in the language of the meeting. See AI Providers to configure.
Meeting Library & Search
All your meetings are saved in a local SQLite database with full-text search powered by FTS5. You can:
- Browse all past meetings sorted by date
- Search across titles and transcript content
- View the full transcript with timestamps
- Review AI-generated notes and action items
- Delete meetings (removes audio file and all associated data)
Search is fast even with hundreds of meetings — FTS5 indexes are updated automatically as new transcripts are saved.
Exporting Notes
You can export meeting notes in multiple formats:
- Markdown — Copy to clipboard or save as
.mdfile - PDF — Formatted document ready to share
The export includes the meeting summary, key points, action items, and decisions. You can also copy the raw transcript.
Privacy Modes
Frajola offers three privacy modes. You can switch between them at any time in settings.
| Mode | Transcription | AI Notes | Data Leaving Device |
|---|---|---|---|
| Full Local (default) | whisper-rs | Ollama | None |
| Hybrid | whisper-rs | GPT / Claude API | Transcript text only |
| Cloud | Whisper API | GPT / Claude API | Audio + transcript |
Full Local is the default. No data ever leaves your machine unless you explicitly switch to Hybrid or Cloud mode and provide your own API keys.
What Each Mode Means
- Full Local — Whisper transcribes audio on your CPU. Ollama generates notes locally. Zero network requests. This is the most private option.
- Hybrid — Transcription still happens locally (audio stays on device), but the resulting text transcript is sent to OpenAI or Anthropic for AI notes. Useful if Ollama quality is not sufficient or your machine can't run large models.
- Cloud — Both audio and transcript are sent to cloud APIs. Fastest and highest quality, but least private. Your own API keys are always used — Frajola never proxies through its own servers.
Where Data Is Stored
All Frajola data is stored locally on your machine:
- Database — SQLite file in your OS app data directory (
frajola.db) - Audio files — WAV files on local disk
- Settings — Stored in the same SQLite database
Data Locations
| Platform | App Data Directory |
|---|---|
| macOS | ~/Library/Application Support/app.frajola.desktop/ |
| Windows | %APPDATA%\app.frajola.desktop\ |
| Linux | ~/.local/share/app.frajola.desktop/ |
No Telemetry
Frajola collects zero telemetry. No analytics, no tracking, no phone-home. The app never connects to any server unless you explicitly enable cloud APIs.
Deleting Data
Deleting a meeting from the library removes its audio file and all associated database rows (transcript, notes, action items) via cascading deletes. To remove all data, delete the app data directory listed above.
Cloud APIs (Opt-in)
Cloud APIs are never enabled by default. To use them:
- Switch your privacy mode to Hybrid or Cloud in settings
- Enter your own API key for the provider you want to use
Supported Providers
- OpenAI — Whisper API for transcription, GPT models for notes
- Anthropic — Claude models for notes
API keys are stored securely on your machine. Frajola sends requests directly to the provider — there is no Frajola server in between.
Cost Estimates
| Service | Cost | Notes |
|---|---|---|
| Whisper API | ~$0.006/min | 1-hour meeting ≈ $0.36 |
| GPT-4o-mini | ~$0.002/meeting | Based on average transcript length |
| Claude Haiku | ~$0.001/meeting | Most cost-effective for notes |
Settings Overview
Frajola stores configuration as key-value pairs in the local SQLite database. These are the default settings:
| Setting | Default | Description |
|---|---|---|
privacy_mode | local | Privacy mode: local, hybrid, or cloud |
transcription_mode | local | Transcription engine: local (Whisper) or api (OpenAI) |
ai_provider | ollama | AI provider: ollama, openai, or anthropic |
ai_model | llama3.2 | Model name for the chosen AI provider |
language | en | UI language: en or pt-BR |
whisper_model | base | Whisper model size: tiny, base, small, medium, large-v3 |
theme | system | UI theme: light, dark, or system |
AI Providers
Ollama (Default)
Ollama runs AI models locally on your machine. It's free and private. See Set Up Ollama for installation instructions.
To change the Ollama model, update the ai_model setting. Make sure the model is pulled first:
ollama pull mistral:7b
OpenAI
To use OpenAI, switch your privacy mode to Hybrid or Cloud, set ai_provider to openai, and enter your API key. Get a key from platform.openai.com.
Recommended models: gpt-4o-mini (fast, cheap), gpt-4o (highest quality).
Anthropic
To use Anthropic, switch your privacy mode to Hybrid or Cloud, set ai_provider to anthropic, and enter your API key. Get a key from console.anthropic.com.
Recommended models: claude-haiku-4-5-20251001 (fast, cheap), claude-sonnet-4-6 (highest quality).
Whisper Configuration
The whisper_model setting controls which Whisper model is used for local transcription. Models are downloaded automatically when first used.
Choosing a Model
- tiny — Fastest, lowest accuracy. Good for quick notes when exact words don't matter.
- base — Default. Good balance of speed and accuracy for most languages.
- small — Noticeably better accuracy, especially for non-English languages. 3x slower than base.
- medium — High accuracy. Recommended if you need reliable transcription and don't mind waiting.
- large-v3 — Best accuracy. Only recommended for machines with 8+ GB RAM and when quality is critical.
For more details about Whisper models, see the official Whisper documentation.
Language Settings
UI Language
Frajola supports English (en) and Brazilian Portuguese (pt-BR). Change the language setting to switch the interface language.
Meeting Language
Whisper automatically detects the language being spoken in a recording. You can also set a preferred language per meeting for more reliable detection.
AI-generated notes are produced in the same language as the meeting. If the transcript is in Portuguese, the summary will also be in Portuguese.
Audio Capture Issues
If Frajola is not capturing audio correctly:
- Check your audio device — Make sure the correct input/output devices are selected in your OS sound settings
- Restart Frajola — Audio device handles can become stale if devices change
- Check volume levels — Ensure your system audio output is not muted
- Close conflicting apps — Some audio apps may hold exclusive access to devices
For platform-specific issues, see the sections below.
macOS Permissions
On macOS, Frajola requires two permissions to capture audio:
- Screen & System Audio Recording — Required to capture system audio output (meeting audio). This uses ScreenCaptureKit under the hood.
- Microphone — Required to capture your voice
Granting Permissions
- Open System Settings > Privacy & Security
- Find Screen & System Audio Recording and enable Frajola
- Find Microphone and enable Frajola
- Restart Frajola — Permissions take effect after restarting the app
Important: macOS requires you to restart the app after granting audio permissions. If recording doesn't work after enabling permissions, quit and reopen Frajola.
Linux Audio
On Linux, Frajola uses PulseAudio or PipeWire (with PulseAudio compatibility) to capture audio.
System Audio Capture
To capture system audio (what other meeting participants are saying), Frajola uses a monitor source. You can list available sources with:
pactl list sources short
Look for a source ending in .monitor — this captures the output of your speakers/headphones.
PipeWire Users
If you're using PipeWire (default on Fedora 35+ and Ubuntu 22.10+), make sure the PulseAudio compatibility layer is installed:
# Fedora
sudo dnf install pipewire-pulseaudio
# Ubuntu/Debian
sudo apt install pipewire-pulse
Common Issues
- No monitor source — Some audio setups don't expose a monitor source by default. You may need to load the PulseAudio module:
pactl load-module module-loopback - Permission denied — Make sure your user is in the
audiogroup:sudo usermod -aG audio $USER
Ollama Not Detected
If Frajola can't connect to Ollama:
Check that Ollama is Running
# Start Ollama manually
ollama serve
# Verify it's responding
curl http://localhost:11434/api/tags
If the curl command returns a connection error, Ollama is not running.
Common Issues
- Ollama not installed — Install from ollama.com
- Port conflict — Another service may be using port 11434. Check with
lsof -i :11434(macOS/Linux) ornetstat -an | find "11434"(Windows) - No models pulled — Run
ollama pull llama3.2:3bto download a model - Firewall blocking — Ensure localhost connections are allowed on port 11434
Alternative: If you can't run Ollama, switch to Hybrid or Cloud mode in settings to use OpenAI or Anthropic instead.
Slow Transcription
If local transcription is taking too long:
- Use a smaller model — Switch from
basetotinyin settings for faster (but less accurate) transcription - Close resource-heavy apps — Whisper uses significant CPU. Close other demanding applications during transcription
- Use cloud transcription — Switch to Cloud mode to use the OpenAI Whisper API, which transcribes a 1-hour meeting in about 30 seconds
Expected Performance
| Model | 1-Hour Meeting |
|---|---|
| tiny | ~2 minutes |
| base | ~4 minutes |
| small | ~10 minutes |
| medium | ~30 minutes |
| large-v3 | ~60 minutes |
These times are approximate and depend on your hardware. Apple Silicon Macs tend to be faster than x86 for Whisper inference.
Frequently Asked Questions
Is Frajola really free?
Yes. Frajola is completely free. There are no paid plans, no usage limits, and no hidden costs. If you use cloud APIs (OpenAI/Anthropic), you pay those providers directly using your own API keys.
Does anyone know I'm recording?
No. Frajola records by capturing your system's audio output — it does not join the meeting as a participant. Other participants cannot see or detect the recording. Please check your local laws regarding recording consent.
What if I don't have Ollama installed?
Without Ollama, Frajola can still record and transcribe meetings using Whisper. For AI-generated notes, you can either install Ollama (see setup guide) or switch to a cloud AI provider in settings.
Can I use my own OpenAI or Anthropic API key?
Yes. Switch your privacy mode to Hybrid or Cloud, select your preferred provider, and enter your API key in settings. Frajola sends requests directly to the provider — there is no intermediary.
What languages are supported?
The UI supports English and Brazilian Portuguese. Transcription (via Whisper) supports 99+ languages with automatic language detection. AI notes are generated in the same language as the transcript.
How much disk space does a recording use?
Approximately 115 MB per hour of recording (WAV, 16-bit PCM, 16kHz mono). OPUS audio compression is planned for a future release, which would reduce this to approximately 10-15 MB per hour.