The average meeting lasts 45 minutes and produces a 7000-word transcript. Manually extracting tasks takes 1.5 hours, and key decisions are often lost. As a result, participants spend up to 30% of their time replaying recordings, and managers waste time on manual minutes. According to Microsoft Workplace Analytics, up to 40% of meeting time is spent discussing already known facts—AI summarization eliminates this. A ready-made AI summarization can reduce this to 2 minutes and produce structured tasks with assignees. But many solutions suffer from inaccurate diarization or miss important details. We've accumulated experience integrating Whisper, AssemblyAI, and Deepgram into mobile apps—let's explore how to make summarization work and be profitable. This is not just a mobile note-taking app; it's a full-fledged assistant that takes meeting notes automatically.
Pipeline from audio file to summary:
Audio file (MP3/M4A/WAV) ↓ Whisper API / Deepgram / AssemblyAI Transcript with timestamps + diarization (who spoke) ↓ LLM (GPT-4o / Claude) Structured summary (decisions, tasks, assignees, deadlines) Three key choices: transcription provider, speaker diarization, and summary format. Each affects accuracy and processing speed.
How to Choose a Transcription Provider?
| Provider | Diarization | Speed | Price (relative) | Notes |
|---|---|---|---|---|
| OpenAI Whisper API | No | Medium | Low | No speaker labels; suitable for short recordings |
| AssemblyAI | Yes | Medium | Medium | Auto chapters, action items, SDK for multiple languages |
| Deepgram | Yes | High | Medium | Russian support, on-premises option, streaming |
| Azure Speech Services | Yes | Medium | Medium | Integration with Azure ecosystem |
For a corporate app with meeting recordings, choose AssemblyAI or Deepgram. For simple personal voice notes, Whisper is sufficient. Saving on the provider can be up to 40% with the right choice.
How did we choose a transcription provider for one project?
In a project with 50+ daily meetings, the client required an on-premises solution due to data confidentiality. We selected Deepgram with on-premises deployment, which provided full control and compliance with security requirements. This experience helped optimize cost and speed.What is Speaker Diarization and What Are Its Limitations?
Speaker diarization determines who spoke at each moment. Result:
{ "words": [ {"text": "Let's", "start": 0.5, "end": 0.9, "speaker": "A"}, {"text": "discuss", "start": 0.9, "end": 1.4, "speaker": "A"}, {"text": "deadline", "start": 2.1, "end": 2.6, "speaker": "B"} ], "utterances": [ {"speaker": "A", "text": "Let's discuss the deadline for project X", "start": 0.5, "end": 5.2}, {"speaker": "B", "text": "We need at least two more weeks", "start": 6.1, "end": 9.8} ] } Diarization performs poorly with overlapping speech, does not know names (only "Speaker A", "Speaker B"), and gets confused with similar voices. In the UI, always include manual speaker renaming: "Speaker A" → "Ivan", "Speaker B" → "Maria". This increases summary accuracy by 30%.
Preparing the Transcript for Summarization
Raw transcript with timestamps is too verbose for the LLM. Format into a readable dialogue:
def format_transcript(utterances: list) -> str: lines = [] for u in utterances: speaker = u.get("speaker_name") or f"Participant {u['speaker']}" lines.append(f"**{speaker}** [{u['start']:.0f}s]: {u['text']}") return "\n".join(lines) Timestamps in brackets help the model understand what happened at the beginning versus the end.
Prompt for Structured Summary
You are analyzing a transcript of a work meeting. Extract: 1. TOPIC of the meeting (1 sentence) 2. KEY DECISIONS (list of decisions made) 3. TASKS (table: task | assignee | deadline) 4. OPEN QUESTIONS (what remains unresolved) 5. NEXT MEETINGS (if mentioned) Answer only based on the transcript. Do not invent if information is missing. Format: Markdown. TRANSCRIPT: {transcript} Structured JSON output (via response_format) is better for programmatic processing; Markdown is better for user display. For mobile apps, use Markdown with a renderer.
Handling Long Recordings?
A one-hour meeting produces ~6000–8000 words of transcript (~8000–10000 tokens). This fits directly into GPT-4o context. A two-hour meeting is 16000–20000 tokens, also fits but costs more. For recordings >3 hours, use Map-Reduce: summarize 30-minute blocks, then merge. Preserve timestamps so users can click on a task and jump to the relevant moment.
Why Summarization is Profitable?
Automation saves up to 80% of meeting processing time. For example, a team of 10 spends on average 1.5 hours per day listening to meetings—30% of work time. Implementing summarization reduces this to 5 minutes. Budget savings can amount to tens of thousands of rubles per month per team. Contact us for a free assessment of your project—we will analyze your needs and propose the optimal solution.
Mobile UX of Meeting Summary
Summary card on mobile:
- Title with meeting topic and date
- Participants (if identified by diarization)
- "Decisions" block—3–7 bullets
- Task table with checkboxes (user can mark as done)
- "Open Questions"—collapsible
- "Listen" button to jump to the audio file
- "Share" button—send summary as text
Tasks from the summary can be exported to Jira, Notion, Todoist—via deep link or share sheet.
What's Included in the Work
- Selection and integration of transcription provider (Whisper/AssemblyAI/Deepgram/Azure)
- Diarization setup and error handling
- LLM prompt development and response parsing
- Mobile UI for summary card (SwiftUI / Jetpack Compose / Flutter)
- Speaker renaming capability
- Task export via share sheet and deep link
- Testing on real meeting recordings
- API documentation and user training
Phases and Timeline
| Phase | Estimated Duration |
|---|---|
| Provider selection and API integration | 1 week |
| Transcript formatting + LLM summarization | 1 week |
| Mobile UI and speaker renaming | 1–2 weeks |
| Task export and testing | 1–2 weeks |
MVP with Whisper + basic summarization—2–3 weeks. Full tool with diarization, export, and custom UI—5–7 weeks. Order an MVP in 2–3 weeks and get a ready solution for testing on real meetings. Contact us—we guarantee transparency and 5+ years of experience in mobile development.







