# pavithramurugan824-oss/lecturesync-ai architecture

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

- Interactive diagram: https://gitdiagram.com/pavithramurugan824-oss/lecturesync-ai
- Repository: https://github.com/pavithramurugan824-oss/lecturesync-ai

## Overview

LectureSync is a documentation-first repository: it defines the product, pipeline, and system design for an AI workflow that turns lecture videos into study notes and quizzes. It is not presenting an implemented application here; the architecture is described across the Markdown docs.

The core system boundary is simple: a user provides either an uploaded MP4 lecture or a YouTube lecture link, and the system returns two artifacts — a summarized PDF of study notes and a generated 10-question quiz.

The main pipeline is linear and content-processing oriented. First comes ingestion of the lecture source, including handling two input modes: direct video upload and remote video retrieval from YouTube. That creates the raw media asset that feeds the rest of the system.

Next is audio extraction and transcription. The lecture audio is converted into text using speech-to-text processing, which becomes the canonical intermediate representation for all downstream AI steps.

After transcription, the AI pipeline performs concept extraction. This stage identifies key topics, learning objectives, and salient points from the transcript, separating signal from filler so later outputs stay focused.

The study-note generator is one output branch from the extracted content. It composes a structured summary suitable for revision, then exports it as a PDF. In architecture terms, this is a document-generation boundary fed by the transcript/concept layer.

The quiz generator is the second output branch. It uses the lecture content to produce an assessment aligned to the material, specifically a 10-question quiz. This is a distinct AI subdomain from summarization because it must preserve coverage, difficulty balance, and content specificity.

The repository’s docs suggest a modular pipeline rather than a monolith: ingestion, transcription, concept extraction, note generation, quiz generation, and export are separate concerns. That separation is important for the architecture diagram because each stage has its own data contract and failure mode.

The `docs/ai-pipeline.md`, `docs/quiz-generation.md`, and `docs/system-architecture.md` files likely describe the processing flow and component boundaries, while `docs/demo/demo-flow.md` captures the end-to-end user journey. `docs/problem-statement.md` frames the use case, and `tech-stack.md` captures the intended implementation stack.

From a systems perspective, the most important data flow is: video source → audio/transcript → concepts → two parallel outputs. The transcript is the central shared artifact, and the note/quiz generators are downstream consumers of that shared semantic layer.

For an architecture diagram, the clearest boundaries are:
- User input layer
- Media acquisition layer
- Speech-to-text layer
- AI analysis layer
- Study-note generation/export layer
- Quiz generation layer

Overall, LectureSync is a single-purpose AI content pipeline optimized for educational content transformation, with a strong emphasis on automated post-processing of lecture recordings into reusable learning assets.

Main entry points: [`docs/system-architecture.md`](https://github.com/pavithramurugan824-oss/lecturesync-ai/blob/main/docs/system-architecture.md) (System Arch), [`docs/ai-pipeline.md`](https://github.com/pavithramurugan824-oss/lecturesync-ai/blob/main/docs/ai-pipeline.md) (AI Pipeline), [`docs/quiz-generation.md`](https://github.com/pavithramurugan824-oss/lecturesync-ai/blob/main/docs/quiz-generation.md) (Quiz Gen), [`docs/problem-statement.md`](https://github.com/pavithramurugan824-oss/lecturesync-ai/blob/main/docs/problem-statement.md) (Problem)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_docs["Docs"]
  node_problem_statement["Problem<br/>doc"]
  node_system_architecture["System Arch<br/>doc"]
  node_ai_pipeline_doc["AI Pipeline<br/>doc<br/>[ai-pipeline.md]"]
  node_quiz_doc["Quiz Gen<br/>doc<br/>[quiz-generation.md]"]
  node_demo_flow["Demo Flow<br/>doc<br/>[demo-flow.md]"]
  node_tech_stack["Tech Stack<br/>doc<br/>[tech-stack.md]"]
end

subgraph group_pipeline["Pipeline"]
  node_user_input(("User Input<br/>interface"))
  node_mp4_upload["MP4 Upload<br/>source"]
  node_youtube_link["YouTube Link<br/>source"]
  node_media_acquisition["Acquire Media<br/>ingestion"]
  node_audio_extraction["Extract Audio<br/>preprocess"]
  node_transcription["Transcribe<br/>speech-to-text"]
  node_concept_extraction["Extract Concepts<br/>ai-analysis"]
end

subgraph group_outputs["Outputs"]
  node_notes_generation["Study Notes<br/>summarization"]
  node_pdf_export["PDF Export"]
  node_quiz_generation["Quiz Builder<br/>assessment"]
  node_quiz_output["10-Question Quiz<br/>assessment"]
end

node_problem_statement -->|"frames"| node_system_architecture
node_system_architecture -->|"details"| node_ai_pipeline_doc
node_ai_pipeline_doc -->|"extends"| node_quiz_doc
node_demo_flow -->|"shows"| node_user_input
node_user_input -->|"mode"| node_mp4_upload
node_user_input -->|"mode"| node_youtube_link
node_mp4_upload -->|"ingests"| node_media_acquisition
node_youtube_link -->|"fetches"| node_media_acquisition
node_media_acquisition -->|"hands off"| node_audio_extraction
node_audio_extraction -->|"produces"| node_transcription
node_transcription -->|"analyzes"| node_concept_extraction
node_concept_extraction -->|"feeds"| node_notes_generation
node_notes_generation -->|"exports"| node_pdf_export
node_concept_extraction -->|"feeds"| node_quiz_generation
node_quiz_generation -->|"renders"| node_quiz_output
node_quiz_generation -.->|"specified by"| node_quiz_doc
node_tech_stack -.->|"supports"| node_system_architecture

click node_problem_statement "https://github.com/pavithramurugan824-oss/lecturesync-ai/blob/main/docs/problem-statement.md"
click node_system_architecture "https://github.com/pavithramurugan824-oss/lecturesync-ai/blob/main/docs/system-architecture.md"
click node_ai_pipeline_doc "https://github.com/pavithramurugan824-oss/lecturesync-ai/blob/main/docs/ai-pipeline.md"
click node_quiz_doc "https://github.com/pavithramurugan824-oss/lecturesync-ai/blob/main/docs/quiz-generation.md"
click node_demo_flow "https://github.com/pavithramurugan824-oss/lecturesync-ai/blob/main/docs/demo/demo-flow.md"
click node_tech_stack "https://github.com/pavithramurugan824-oss/lecturesync-ai/blob/main/tech-stack.md"

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_problem_statement,node_system_architecture,node_ai_pipeline_doc,node_quiz_doc,node_demo_flow,node_tech_stack toneBlue
class node_user_input,node_mp4_upload,node_youtube_link,node_media_acquisition,node_audio_extraction,node_transcription,node_concept_extraction toneAmber
class node_notes_generation,node_pdf_export,node_quiz_generation,node_quiz_output toneMint
```

## Components

### Docs

Markdown design and product documentation

- [Problem](https://github.com/pavithramurugan824-oss/lecturesync-ai/blob/main/docs/problem-statement.md): doc · Defines the lecture-to-study use case and user need · `docs/problem-statement.md`
- [System Arch](https://github.com/pavithramurugan824-oss/lecturesync-ai/blob/main/docs/system-architecture.md): doc · High-level system boundary and component layout · `docs/system-architecture.md`
- [AI Pipeline](https://github.com/pavithramurugan824-oss/lecturesync-ai/blob/main/docs/ai-pipeline.md): doc · Describes the core processing stages and data flow · `docs/ai-pipeline.md`
- [Quiz Gen](https://github.com/pavithramurugan824-oss/lecturesync-ai/blob/main/docs/quiz-generation.md): doc · Explains quiz generation behavior and constraints · `docs/quiz-generation.md`
- [Demo Flow](https://github.com/pavithramurugan824-oss/lecturesync-ai/blob/main/docs/demo/demo-flow.md): doc · Shows the end-to-end user journey · `docs/demo/demo-flow.md`
- [Tech Stack](https://github.com/pavithramurugan824-oss/lecturesync-ai/blob/main/tech-stack.md): doc · Intended implementation stack and tooling · `tech-stack.md`

### Pipeline

Intended lecture-to-study workflow

- **User Input**: interface · Lecture source provided as either upload or link
- **MP4 Upload**: source · Direct lecture video upload
- **YouTube Link**: source · Remote lecture source fetched from YouTube
- **Acquire Media**: ingestion · Normalizes the chosen lecture source into raw media
- **Extract Audio**: preprocess · Separates lecture audio from the media file
- **Transcribe**: speech-to-text · Converts audio into the canonical transcript
- **Extract Concepts**: ai-analysis · Finds topics, objectives, and salient points in the transcript

### Outputs

Generated study artifacts

- **Study Notes**: summarization · Creates structured revision notes from extracted concepts
- **PDF Export**: export · Packages study notes as a PDF artifact
- **Quiz Builder**: assessment · Generates a lecture-aligned quiz from the shared content layer
- **10-Question Quiz**: assessment · Final quiz artifact with ten questions

## Connections

- Problem → System Arch: frames · The use case informs the system boundary and design
- System Arch → AI Pipeline: details · Architecture doc decomposes the processing stages
- AI Pipeline → Quiz Gen: extends · Quiz generation is described as a specialized downstream branch
- Demo Flow → User Input: shows · Demo documents the user entry point into the workflow
- User Input → MP4 Upload: mode · One supported lecture input mode
- User Input → YouTube Link: mode · Alternative lecture input mode
- MP4 Upload → Acquire Media: ingests · Uploaded lecture becomes raw media for processing
- YouTube Link → Acquire Media: fetches · Remote lecture is retrieved into the pipeline
- Acquire Media → Extract Audio: hands off · Raw media feeds audio extraction
- Extract Audio → Transcribe: produces · Lecture audio becomes text transcript
- Transcribe → Extract Concepts: analyzes · Transcript is the semantic input for concept extraction
- Extract Concepts → Study Notes: feeds · Extracted concepts drive note composition
- Study Notes → PDF Export: exports · Notes are rendered into a PDF artifact
- Extract Concepts → Quiz Builder: feeds · Shared content layer also powers quiz creation
- Quiz Builder → 10-Question Quiz: renders · Quiz builder emits the final assessment
- Quiz Builder → Quiz Gen: specified by · Quiz behavior is guided by its dedicated design doc
- Tech Stack → System Arch: supports · Stack documentation anchors the intended implementation choices
