# crazyguy96/ai_meeting_assistant architecture

> Architecture diagram of the GitHub repository crazyguy96/ai_meeting_assistant, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/crazyguy96/ai_meeting_assistant
- Repository: https://github.com/crazyguy96/ai_meeting_assistant

## Overview

AI Meeting Assistant turns uploaded English recordings into preserved raw transcripts, safely refined transcripts, evidence-checked meeting records, and downloadable artifacts. The Gradio UI submits work to the pipeline coordinator, which owns validation, stage sequencing, and export. Speech recognition is local; Groq-backed refinement and documentation are separate stages, with evidence checks guarding the structured output. The map includes the documented long-meeting and safety capabilities; some implementation details are unsampled, so only indexed or documented relationships are shown.

Main entry points: [`01_APPLICATION/app/main.py`](https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/main.py) (Pipeline Coordinator), [`01_APPLICATION/app/pipeline/refinement.py`](https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/refinement.py) (Transcript Refinement), [`01_APPLICATION/app/pipeline/documentation.py`](https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/documentation.py) (Record Generation), [`01_APPLICATION/app/pipeline/transcription.py`](https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/transcription.py) (Speech Recognition)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interface["User Interface"]
  node_ui["Gradio Interface<br/>[gradio_app.py]"]
end

subgraph group_workflow["Meeting Workflow"]
  node_coordinator["Pipeline Coordinator<br/>[main.py]"]
  node_audio_validation["Audio Validation<br/>[transcription.py]"]
  node_transcription["Speech Recognition<br/>[transcription.py]"]
  node_raw_transcript["Raw Transcript<br/>[transcription.py]"]
  node_refinement["Transcript Refinement<br/>[refinement.py]"]
  node_glossary["Glossary Extraction<br/>[refinement.py]"]
  node_fidelity["Refinement Safety<br/>[evidence.py]"]
  node_refined_transcript["Refined Transcript<br/>[refinement.py]"]
  node_documentation["Record Generation<br/>[documentation.py]"]
  node_evidence_validation["Evidence Validation<br/>[evidence.py]"]
  node_meeting_record["Structured Meeting Record<br/>[documentation.py]"]
end

subgraph group_models["Model Services"]
  node_groq_client["Groq Client<br/>[clients.py]"]
  node_groq_service{{"Groq API"}}
  node_whisper_model{{"faster-whisper"}}
end

subgraph group_support["Configuration and Output"]
  node_export["Artifact Export<br/>[utils.py]"]
  node_prompts["Prompt Templates<br/>[prompts.py]"]
  node_configuration["Runtime Configuration<br/>[config.py]"]
  node_artifacts["Downloadable Artifacts<br/>[utils.py]"]
end

node_user(("Meeting User"))

node_user -->|"uploads audio"| node_ui
node_ui -->|"submits recording"| node_coordinator
node_coordinator -->|"validates audio"| node_audio_validation
node_coordinator -->|"transcribes recording"| node_transcription
node_transcription -->|"runs recognition"| node_whisper_model
node_configuration -->|"sets model options"| node_transcription
node_transcription -->|"produces segments"| node_raw_transcript
node_coordinator -->|"refines transcript"| node_refinement
node_refinement -->|"extracts terms"| node_glossary
node_refinement -->|"checks proposed edits"| node_fidelity
node_refinement -->|"requests completions"| node_groq_client
node_groq_client -->|"loads API key"| node_configuration
node_groq_client -->|"sends requests"| node_groq_service
node_refinement -->|"loads templates"| node_prompts
node_refinement -->|"returns transcript"| node_refined_transcript
node_coordinator -->|"generates record"| node_documentation
node_documentation -->|"loads templates"| node_prompts
node_documentation -->|"uses completion logic"| node_refinement
node_documentation -->|"extracts meeting details"| node_meeting_record
node_coordinator -->|"validates record"| node_evidence_validation
node_evidence_validation -->|"checks transcript support"| node_meeting_record
node_coordinator -->|"saves outputs"| node_export
node_export -->|"writes and archives"| node_artifacts
node_ui -->|"offers downloads"| node_artifacts

click node_ui "https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/ui/gradio_app.py"
click node_coordinator "https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/main.py"
click node_audio_validation "https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/transcription.py"
click node_transcription "https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/transcription.py"
click node_raw_transcript "https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/transcription.py"
click node_refinement "https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/refinement.py"
click node_glossary "https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/refinement.py"
click node_fidelity "https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/evidence.py"
click node_refined_transcript "https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/refinement.py"
click node_documentation "https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/documentation.py"
click node_evidence_validation "https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/evidence.py"
click node_meeting_record "https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/documentation.py"
click node_export "https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/core/utils.py"
click node_groq_client "https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/core/clients.py"
click node_prompts "https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/prompts.py"
click node_configuration "https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/core/config.py"
click node_artifacts "https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/core/utils.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_ui,node_user toneBlue
class node_coordinator,node_audio_validation,node_transcription,node_raw_transcript,node_refinement,node_glossary,node_fidelity,node_refined_transcript,node_documentation,node_evidence_validation,node_meeting_record toneAmber
class node_groq_client,node_groq_service,node_whisper_model toneMint
class node_export,node_prompts,node_configuration,node_artifacts toneRose
```

## Components

### User Interface

- [Gradio Interface](https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/ui/gradio_app.py): `01_APPLICATION/app/ui/gradio_app.py`

### Meeting Workflow

- [Pipeline Coordinator](https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/main.py): `01_APPLICATION/app/main.py`
- [Audio Validation](https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/transcription.py): `01_APPLICATION/app/pipeline/transcription.py`
- [Speech Recognition](https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/transcription.py): `01_APPLICATION/app/pipeline/transcription.py`
- [Raw Transcript](https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/transcription.py): `01_APPLICATION/app/pipeline/transcription.py`
- [Transcript Refinement](https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/refinement.py): `01_APPLICATION/app/pipeline/refinement.py`
- [Glossary Extraction](https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/refinement.py): `01_APPLICATION/app/pipeline/refinement.py`
- [Refinement Safety](https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/evidence.py): `01_APPLICATION/app/pipeline/evidence.py`
- [Refined Transcript](https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/refinement.py): `01_APPLICATION/app/pipeline/refinement.py`
- [Record Generation](https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/documentation.py): `01_APPLICATION/app/pipeline/documentation.py`
- [Evidence Validation](https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/evidence.py): `01_APPLICATION/app/pipeline/evidence.py`
- [Structured Meeting Record](https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/documentation.py): `01_APPLICATION/app/pipeline/documentation.py`

### Model Services

- [Groq Client](https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/core/clients.py): `01_APPLICATION/app/core/clients.py`
- **Groq API**
- **faster-whisper**

### Configuration and Output

- [Artifact Export](https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/core/utils.py): `01_APPLICATION/app/core/utils.py`
- [Prompt Templates](https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/pipeline/prompts.py): `01_APPLICATION/app/pipeline/prompts.py`
- [Runtime Configuration](https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/core/config.py): `01_APPLICATION/app/core/config.py`
- [Downloadable Artifacts](https://github.com/crazyguy96/ai_meeting_assistant/blob/main/01_APPLICATION/app/core/utils.py): `01_APPLICATION/app/core/utils.py`

### Other components

- **Meeting User**

## Connections

- Meeting User → Gradio Interface: uploads audio (evidence: `README.md`)
- Gradio Interface → Pipeline Coordinator: submits recording (evidence: `01_APPLICATION/app/ui/gradio_app.py`)
- Pipeline Coordinator → Audio Validation: validates audio (evidence: `01_APPLICATION/app/main.py`)
- Pipeline Coordinator → Speech Recognition: transcribes recording (evidence: `01_APPLICATION/app/main.py`)
- Speech Recognition → faster-whisper: runs recognition (evidence: `README.md`)
- Runtime Configuration → Speech Recognition: sets model options (evidence: `01_APPLICATION/app/pipeline/transcription.py`)
- Speech Recognition → Raw Transcript: produces segments (evidence: `README.md`)
- Pipeline Coordinator → Transcript Refinement: refines transcript (evidence: `01_APPLICATION/app/main.py`)
- Transcript Refinement → Glossary Extraction: extracts terms (evidence: `01_APPLICATION/app/pipeline/refinement.py`)
- Transcript Refinement → Refinement Safety: checks proposed edits (evidence: `01_APPLICATION/app/pipeline/refinement.py`)
- Transcript Refinement → Groq Client: requests completions (evidence: `01_APPLICATION/app/pipeline/refinement.py`)
- Groq Client → Runtime Configuration: loads API key (evidence: `01_APPLICATION/app/core/clients.py`)
- Groq Client → Groq API: sends requests (evidence: `01_APPLICATION/app/core/clients.py`)
- Transcript Refinement → Prompt Templates: loads templates (evidence: `01_APPLICATION/app/pipeline/refinement.py`)
- Transcript Refinement → Refined Transcript: returns transcript (evidence: `README.md`)
- Pipeline Coordinator → Record Generation: generates record (evidence: `01_APPLICATION/app/main.py`)
- Record Generation → Prompt Templates: loads templates (evidence: `01_APPLICATION/app/pipeline/documentation.py`)
- Record Generation → Transcript Refinement: uses completion logic (evidence: `01_APPLICATION/app/pipeline/documentation.py`)
- Record Generation → Structured Meeting Record: extracts meeting details (evidence: `README.md`)
- Pipeline Coordinator → Evidence Validation: validates record (evidence: `01_APPLICATION/app/main.py`)
- Evidence Validation → Structured Meeting Record: checks transcript support (evidence: `01_APPLICATION/app/pipeline/evidence.py`)
- Pipeline Coordinator → Artifact Export: saves outputs (evidence: `01_APPLICATION/app/main.py`)
- Artifact Export → Downloadable Artifacts: writes and archives (evidence: `01_APPLICATION/app/core/utils.py`)
- Gradio Interface → Downloadable Artifacts: offers downloads (evidence: `01_APPLICATION/app/ui/gradio_app.py`)
