Workshop Overview

Use Case

The Cognitive Communication Coach helps users review a conversation after it ends. The user uploads a transcript or short audio file. The system analyzes the content and returns a structured coaching report:

  • Conversation summary.
  • Main topic and intent.
  • Weak reasoning or unclear answers.
  • Suggested stronger response using claim, reason, evidence, and example.
  • Five “why” challenge questions for practice.
  • Learning notes in English and Vietnamese.

Architecture Diagram

flowchart LR User["User / learner"] --> Client["Browser or API client"] Client --> APIGW["Amazon API Gateway"] APIGW --> UploadFn["Lambda: create upload URL"] APIGW --> ResultFn["Lambda: get result"] UploadFn --> S3["S3 private bucket"] S3 --> Workflow["Step Functions"] Workflow --> Transcribe["Amazon Transcribe"] Workflow --> AnalyzeFn["Lambda: call Bedrock"] AnalyzeFn --> Bedrock["Amazon Bedrock"] Workflow --> DDB["DynamoDB job table"] ResultFn --> DDB Workflow --> Logs["CloudWatch Logs"]

AWS Services Used

ServiceResponsibility
Amazon S3Store uploaded audio/transcripts and generated reports
Amazon API GatewayExpose REST API endpoints
AWS LambdaRun backend logic and Bedrock integration
AWS Step FunctionsOrchestrate async processing
Amazon TranscribeConvert audio files to text
Amazon BedrockGenerate structured coaching feedback
Amazon DynamoDBStore job metadata and status
Amazon CloudWatchStore logs and support troubleshooting
AWS IAMEnforce least-privilege access

Why This Architecture

The workflow is asynchronous because audio transcription and AI analysis can take time. This avoids pretending the system is a real-time assistant. Step Functions makes each stage visible, DynamoDB keeps job status queryable, and S3 provides low-cost durable storage.

Screenshot Evidence to Capture

After implementation, capture screenshots of:

  • S3 bucket with uploads/, transcripts/, and reports/ prefixes.
  • DynamoDB job item with status updates.
  • Step Functions execution graph.
  • CloudWatch log stream for Lambda.
  • Final coaching report output.