# mpesic84/awesome-llm-apps architecture

> Architecture diagram of the GitHub repository mpesic84/awesome-llm-apps, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/mpesic84/awesome-llm-apps
- Repository: https://github.com/mpesic84/awesome-llm-apps

## Overview

Awesome LLM Apps is a curated collection of independently runnable AI application examples, not a single integrated service. Users choose an app, provide a prompt or source material, and receive a generated answer, plan, or media artifact. The graph highlights documented RAG, agent-team, MCP, podcast, and model-routing examples. Sampled source supports only selected runtime connections; other README capabilities are represented at their enclosing paths without inferred wiring.

Main entry points: [`rag_tutorials/agentic_rag_math_agent/rag/query_router.py`](https://github.com/mpesic84/awesome-llm-apps/blob/main/rag_tutorials/agentic_rag_math_agent/rag/query_router.py) (Math answer routing), [`advanced_ai_agents/multi_agent_apps/ai_news_and_podcast_agents/beifong`](https://github.com/mpesic84/awesome-llm-apps/tree/main/advanced_ai_agents/multi_agent_apps/ai_news_and_podcast_agents/beifong) (News podcast app), [`rag_tutorials/ai_blog_search/app.py`](https://github.com/mpesic84/awesome-llm-apps/blob/main/rag_tutorials/ai_blog_search/app.py) (Blog search), [`mcp_ai_agents/ai_travel_planner_mcp_agent_team/app.py`](https://github.com/mpesic84/awesome-llm-apps/blob/main/mcp_ai_agents/ai_travel_planner_mcp_agent_team/app.py) (Travel planner)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_collection["App collection"]
  node_rag_examples["RAG examples"]
  node_agent_examples["Agent examples"]
  node_mcp_examples["MCP examples"]
  node_voice_examples["Voice examples"]
  node_memory_examples["Memory tutorials"]
end

subgraph group_rag["RAG apps"]
  node_blog_app["Blog search<br/>[app.py]"]
  node_blog_ingest["Web ingestion<br/>[app.py]"]
  node_blog_retrieval["Retrieval workflow<br/>[app.py]"]
  node_blog_store[("Vector store<br/>[app.py]")]
  node_math_router["Math answer routing<br/>[query_router.py]"]
  node_math_kb[("Math knowledge base<br/>[query_router.py]")]
end

subgraph group_teams["Agent teams"]
  node_travel_team["Travel planner<br/>[app.py]"]
  node_travel_agents["Travel specialists<br/>[app.py]"]
  node_team_examples["Domain agent teams"]
end

subgraph group_media["Media agents"]
  node_podcast_app["News podcast app"]
  node_podcast_agents["Podcast agents"]
  node_podcast_audio["Audio generation"]
  node_podcast_sessions[("Podcast sessions")]
end

subgraph group_integrations["External services"]
  node_llm_router["Model routing chat<br/>[llm_router.py]"]
  node_mcp_browser["Browser MCP agent<br/>[main.py]"]
  node_mcp_tools["MCP tools<br/>[app.py]"]
  node_qdrant[("Qdrant")]
  node_web_sources["Web sources"]
  node_model_services["Model services"]
  node_browser_service["Browser service"]
  node_tts_services["Speech services"]
end

node_user(("App user"))

node_user -->|"asks questions"| node_blog_app
node_user -->|"asks math"| node_math_router
node_user -->|"requests trip"| node_travel_team
node_user -->|"requests podcast"| node_podcast_app
node_user -->|"sends prompt"| node_llm_router
node_user -->|"gives command"| node_mcp_browser
node_blog_app -->|"adds sources"| node_blog_ingest
node_blog_ingest -->|"stores chunks"| node_blog_store
node_blog_retrieval -->|"retrieves chunks"| node_blog_store
node_blog_app -->|"runs query"| node_blog_retrieval
node_blog_ingest -->|"loads pages"| node_web_sources
node_math_router -->|"retrieves answer"| node_math_kb
node_math_router -.->|"generates explanation"| node_model_services
node_math_router -.->|"searches fallback"| node_web_sources
node_travel_team -->|"runs team"| node_travel_agents
node_travel_team -->|"attaches tools"| node_mcp_tools
node_travel_agents -->|"invoke tools"| node_mcp_tools
node_mcp_tools -.->|"queries services"| node_model_services
node_podcast_app -->|"coordinates"| node_podcast_agents
node_podcast_app -->|"requests audio"| node_podcast_audio
node_podcast_audio -.->|"generates speech"| node_tts_services
node_podcast_app -->|"stores session"| node_podcast_sessions
node_llm_router -->|"routes prompts"| node_model_services
node_mcp_browser -->|"controls browser"| node_browser_service

click node_rag_examples "https://github.com/mpesic84/awesome-llm-apps/tree/main/rag_tutorials"
click node_agent_examples "https://github.com/mpesic84/awesome-llm-apps/tree/main/advanced_ai_agents"
click node_mcp_examples "https://github.com/mpesic84/awesome-llm-apps/tree/main/mcp_ai_agents"
click node_voice_examples "https://github.com/mpesic84/awesome-llm-apps/tree/main/voice_ai_agents"
click node_memory_examples "https://github.com/mpesic84/awesome-llm-apps/tree/main/advanced_llm_apps"
click node_blog_app "https://github.com/mpesic84/awesome-llm-apps/blob/main/rag_tutorials/ai_blog_search/app.py"
click node_blog_ingest "https://github.com/mpesic84/awesome-llm-apps/blob/main/rag_tutorials/ai_blog_search/app.py"
click node_blog_retrieval "https://github.com/mpesic84/awesome-llm-apps/blob/main/rag_tutorials/ai_blog_search/app.py"
click node_blog_store "https://github.com/mpesic84/awesome-llm-apps/blob/main/rag_tutorials/ai_blog_search/app.py"
click node_math_router "https://github.com/mpesic84/awesome-llm-apps/blob/main/rag_tutorials/agentic_rag_math_agent/rag/query_router.py"
click node_math_kb "https://github.com/mpesic84/awesome-llm-apps/blob/main/rag_tutorials/agentic_rag_math_agent/rag/query_router.py"
click node_travel_team "https://github.com/mpesic84/awesome-llm-apps/blob/main/mcp_ai_agents/ai_travel_planner_mcp_agent_team/app.py"
click node_travel_agents "https://github.com/mpesic84/awesome-llm-apps/blob/main/mcp_ai_agents/ai_travel_planner_mcp_agent_team/app.py"
click node_team_examples "https://github.com/mpesic84/awesome-llm-apps/tree/main/advanced_ai_agents/multi_agent_apps/agent_teams"
click node_podcast_app "https://github.com/mpesic84/awesome-llm-apps/tree/main/advanced_ai_agents/multi_agent_apps/ai_news_and_podcast_agents/beifong"
click node_podcast_agents "https://github.com/mpesic84/awesome-llm-apps/tree/main/advanced_ai_agents/multi_agent_apps/ai_news_and_podcast_agents/beifong/agents"
click node_podcast_audio "https://github.com/mpesic84/awesome-llm-apps/blob/main/advanced_ai_agents/multi_agent_apps/ai_news_and_podcast_agents/beifong/utils/tts_engine_selector.py"
click node_podcast_sessions "https://github.com/mpesic84/awesome-llm-apps/blob/main/advanced_ai_agents/multi_agent_apps/ai_news_and_podcast_agents/beifong/services/internal_session_service.py"
click node_llm_router "https://github.com/mpesic84/awesome-llm-apps/blob/main/advanced_llm_apps/cursor_ai_experiments/llm_router_app/llm_router.py"
click node_mcp_browser "https://github.com/mpesic84/awesome-llm-apps/blob/main/mcp_ai_agents/browser_mcp_agent/main.py"
click node_mcp_tools "https://github.com/mpesic84/awesome-llm-apps/blob/main/mcp_ai_agents/ai_travel_planner_mcp_agent_team/app.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_rag_examples,node_agent_examples,node_mcp_examples,node_voice_examples,node_memory_examples,node_user toneBlue
class node_blog_app,node_blog_ingest,node_blog_retrieval,node_blog_store,node_math_router,node_math_kb toneAmber
class node_travel_team,node_travel_agents,node_team_examples toneMint
class node_podcast_app,node_podcast_agents,node_podcast_audio,node_podcast_sessions toneRose
class node_llm_router,node_mcp_browser,node_mcp_tools,node_qdrant,node_web_sources,node_model_services,node_browser_service,node_tts_services toneIndigo
```

## Components

### App collection

- [RAG examples](https://github.com/mpesic84/awesome-llm-apps/tree/main/rag_tutorials): `rag_tutorials`
- [Agent examples](https://github.com/mpesic84/awesome-llm-apps/tree/main/advanced_ai_agents): `advanced_ai_agents`
- [MCP examples](https://github.com/mpesic84/awesome-llm-apps/tree/main/mcp_ai_agents): `mcp_ai_agents`
- [Voice examples](https://github.com/mpesic84/awesome-llm-apps/tree/main/voice_ai_agents): `voice_ai_agents`
- [Memory tutorials](https://github.com/mpesic84/awesome-llm-apps/tree/main/advanced_llm_apps): `advanced_llm_apps`

### RAG apps

- [Blog search](https://github.com/mpesic84/awesome-llm-apps/blob/main/rag_tutorials/ai_blog_search/app.py): `rag_tutorials/ai_blog_search/app.py`
- [Web ingestion](https://github.com/mpesic84/awesome-llm-apps/blob/main/rag_tutorials/ai_blog_search/app.py): `rag_tutorials/ai_blog_search/app.py`
- [Retrieval workflow](https://github.com/mpesic84/awesome-llm-apps/blob/main/rag_tutorials/ai_blog_search/app.py): `rag_tutorials/ai_blog_search/app.py`
- [Vector store](https://github.com/mpesic84/awesome-llm-apps/blob/main/rag_tutorials/ai_blog_search/app.py): `rag_tutorials/ai_blog_search/app.py`
- [Math answer routing](https://github.com/mpesic84/awesome-llm-apps/blob/main/rag_tutorials/agentic_rag_math_agent/rag/query_router.py): `rag_tutorials/agentic_rag_math_agent/rag/query_router.py`
- [Math knowledge base](https://github.com/mpesic84/awesome-llm-apps/blob/main/rag_tutorials/agentic_rag_math_agent/rag/query_router.py): `rag_tutorials/agentic_rag_math_agent/rag/query_router.py`

### Agent teams

- [Travel planner](https://github.com/mpesic84/awesome-llm-apps/blob/main/mcp_ai_agents/ai_travel_planner_mcp_agent_team/app.py): `mcp_ai_agents/ai_travel_planner_mcp_agent_team/app.py`
- [Travel specialists](https://github.com/mpesic84/awesome-llm-apps/blob/main/mcp_ai_agents/ai_travel_planner_mcp_agent_team/app.py): `mcp_ai_agents/ai_travel_planner_mcp_agent_team/app.py`
- [Domain agent teams](https://github.com/mpesic84/awesome-llm-apps/tree/main/advanced_ai_agents/multi_agent_apps/agent_teams): `advanced_ai_agents/multi_agent_apps/agent_teams`

### Media agents

- [News podcast app](https://github.com/mpesic84/awesome-llm-apps/tree/main/advanced_ai_agents/multi_agent_apps/ai_news_and_podcast_agents/beifong): `advanced_ai_agents/multi_agent_apps/ai_news_and_podcast_agents/beifong`
- [Podcast agents](https://github.com/mpesic84/awesome-llm-apps/tree/main/advanced_ai_agents/multi_agent_apps/ai_news_and_podcast_agents/beifong/agents): `advanced_ai_agents/multi_agent_apps/ai_news_and_podcast_agents/beifong/agents`
- [Audio generation](https://github.com/mpesic84/awesome-llm-apps/blob/main/advanced_ai_agents/multi_agent_apps/ai_news_and_podcast_agents/beifong/utils/tts_engine_selector.py): `advanced_ai_agents/multi_agent_apps/ai_news_and_podcast_agents/beifong/utils/tts_engine_selector.py`
- [Podcast sessions](https://github.com/mpesic84/awesome-llm-apps/blob/main/advanced_ai_agents/multi_agent_apps/ai_news_and_podcast_agents/beifong/services/internal_session_service.py): `advanced_ai_agents/multi_agent_apps/ai_news_and_podcast_agents/beifong/services/internal_session_service.py`

### External services

- [Model routing chat](https://github.com/mpesic84/awesome-llm-apps/blob/main/advanced_llm_apps/cursor_ai_experiments/llm_router_app/llm_router.py): `advanced_llm_apps/cursor_ai_experiments/llm_router_app/llm_router.py`
- [Browser MCP agent](https://github.com/mpesic84/awesome-llm-apps/blob/main/mcp_ai_agents/browser_mcp_agent/main.py): `mcp_ai_agents/browser_mcp_agent/main.py`
- [MCP tools](https://github.com/mpesic84/awesome-llm-apps/blob/main/mcp_ai_agents/ai_travel_planner_mcp_agent_team/app.py): `mcp_ai_agents/ai_travel_planner_mcp_agent_team/app.py`
- **Qdrant**
- **Web sources**
- **Model services**
- **Browser service**
- **Speech services**

### Other components

- **App user**

## Connections

- App user → Blog search: asks questions
- App user → Math answer routing: asks math
- App user → Travel planner: requests trip
- App user → News podcast app: requests podcast
- App user → Model routing chat: sends prompt
- App user → Browser MCP agent: gives command
- Blog search → Web ingestion: adds sources
- Web ingestion → Vector store: stores chunks
- Retrieval workflow → Vector store: retrieves chunks
- Blog search → Retrieval workflow: runs query
- Web ingestion → Web sources: loads pages
- Math answer routing → Math knowledge base: retrieves answer
- Math answer routing → Model services: generates explanation
- Math answer routing → Web sources: searches fallback
- Travel planner → Travel specialists: runs team
- Travel planner → MCP tools: attaches tools
- Travel specialists → MCP tools: invoke tools
- MCP tools → Model services: queries services
- News podcast app → Podcast agents: coordinates
- News podcast app → Audio generation: requests audio
- Audio generation → Speech services: generates speech
- News podcast app → Podcast sessions: stores session
- Model routing chat → Model services: routes prompts
- Browser MCP agent → Browser service: controls browser
