For one person the core loop is short: record a call, transcribe it with Whisper, have an LLM turn the transcript into a summary with action items, and search it later. Browser tab audio plus a microphone covers Google Meet, and an agent builds that in a weekend. What it can't copy cheaply is the bot that joins Zoom, Meet and Teams from your calendar without anyone pressing record, the notes written back to HubSpot or Salesforce, and the conversation analytics and coaching a sales team pays the add-ons for.
Before you buildAvoma has no free plan beyond a 14-day trial and a viewer role. Only people who record need a paid seat, so a team where just one person records pays for one.
Build me a local meeting notes app to replace Avoma. Requirements: - Python 3.12 + FastAPI + Jinja2 with a little vanilla JS: `uv run uvicorn app:app --port 4875` serves http://localhost:4875. - Capture: a Record button uses the browser's MediaRecorder on the microphone and, if "include tab audio" is ticked, `getDisplayMedia` on a Google Meet or Zoom web tab, mixed in a Web Audio graph. Chunks upload every 30 seconds to ./data/meetings/<id>/audio.webm. A second page takes an uploaded audio or video file (m4a, mp3, mp4, wav). - Transcription: `faster-whisper` (WHISPER_MODEL in .env, default `small`, int8) with word timestamps. Segments go into SQLite (./data/meetings.db) with an FTS5 index. No speaker names: label the microphone channel "me" and the tab channel "them". - Notes: after the meeting, send the transcript to an OpenAI-compatible endpoint (LLM_BASE_URL, LLM_MODEL, LLM_API_KEY in .env; Ollama works) with a template picked per meeting: General, Sales discovery call, 1:1 or Interview. Output Markdown with a summary, decisions, action items (with owners when named) and open questions. Keep the raw JSON the model returned. - Meeting page: an audio player, transcript lines that seek the audio when clicked, the notes with an Edit button, "regenerate with template X", and a copy-as-Markdown button. - Search across every transcript and note. A "Draft follow-up email" button writes text from the notes; you send it yourself. - Calendar: an optional secret ICS URL in .env (`icalendar`, `recurring-ical-events`) fills the title and attendee names from the event that overlaps the start time. - Single user. No accounts, no telemetry, local-first. Network only for the LLM endpoint and the ICS URL. - Out of scope: a bot that joins calls, CRM sync, scheduling pages, coaching scorecards, sharing with a team. - README: how to share a tab with audio in Chrome (Meet works; the Zoom desktop app doesn't), a reminder to tell participants you record, and disk use per hour of audio.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Avoma.
Extend the meeting notes app in this folder. Requirements: - Add an Ask page: a question box that searches the FTS5 index for the top 20 transcript segments, sends them with their meeting titles and timestamps to the configured LLM, and answers with citations. - Each citation links to the meeting page at that timestamp. - If nothing relevant is found, say so instead of answering. - Update the README.
Add an action items inbox to the meeting notes app in this folder. Requirements: - Store action items from the notes JSON as rows (text, owner, due date if named, meeting id, done flag). - An Inbox page lists open items grouped by meeting with a checkbox, an edit field and a filter by owner. - Export open items as a Markdown checklist. - Update the README.
Add system-audio capture to the meeting notes app in this folder. Requirements: - A `capture.py` helper that records the microphone and the system output with `sounddevice` through a loopback device (BlackHole on macOS) as two channels, then uploads the file to the app. - A README section on installing BlackHole and building a Multi-Output Device so you still hear the call. - Use the two channels for the "me" and "them" labels. - Update the README.
Sales and customer teams get a recorder that attends every call without anyone remembering to press a button, and notes that land in the CRM and in front of the manager. The per-seat price buys that coverage and the team views, not the transcription.
Estimate · Local Whisper and a local model cost nothing to run; a hosted LLM for about 20 hours of meetings a month costs a few dollars. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Startup | $29 | $19 | Up to 25 paid seats and unlimited viewers; unlimited recording, transcription and AI summaries, 1:1 scheduling, Ask Avoma on a meeting, AI email follow-ups, notes saved to CRM records, dialer integration. |
| Organization | $39 | $24 | Up to 100 paid seats; adds custom AI topics and templates, group and round-robin scheduling, limited conversation intelligence, smart playlists, transcript translation, API and webhooks, a customer success manager. |
| Enterprise | — | $39 | Minimum 10 paid seats; adds global Ask Avoma, SSO, HIPAA compliance, data retention policies, team-specific access controls and mutually signed DPAs. |
No permanent free plan: a 14-day trial of Organization with all add-ons and no card, then a free Viewer role that can read old recordings but not record new meetings.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: The bot that joins Zoom, Meet and Teams calls from your calendar on its own, Notes and fields written back to Salesforce, HubSpot and other CRMs.
About $29 a month on the Startup plan per seat, $348 a year (checked 2026-10-19).
The bot that joins Zoom, Meet and Teams calls from your calendar on its own; Notes and fields written back to Salesforce, HubSpot and other CRMs; Conversation intelligence, call scoring, deal health and forecasting add-ons; Group and round-robin scheduling and lead routing; Speaker identification, shared playlists and notes visible to the rest of the team. If any of those matter to you, keep paying.
Yes: Meetily (open source), Anarlog (open source), Vexa (open source).