Close Menu

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    What's Hot

    ‘The Cosby Show’ actor Malcolm-Jamal Warner’s cause of death released by police

    July 22, 2025

    Georgia Ethics Commission won’t investigate source of Republican Burt Jones’ $10M loan

    July 22, 2025

    Russian lawmakers pass a bill punishing online searches for information deemed to be ‘extremist’

    July 22, 2025
    Facebook X (Twitter) Instagram
    • Demos
    • Buy Now
    Facebook X (Twitter) Instagram YouTube
    14 Trends14 Trends
    Demo
    • Home
    • Features
      • View All On Demos
    • Buy Now
    14 Trends14 Trends
    Home ยป Build an AI-powered automated summarization system with Amazon Bedrock and Amazon Transcribe using Terraform
    AI AWS

    Build an AI-powered automated summarization system with Amazon Bedrock and Amazon Transcribe using Terraform

    adminBy adminJuly 22, 2025No Comments23 Mins Read0 Views
    Facebook Twitter Pinterest LinkedIn Telegram Tumblr Email
    Share
    Facebook Twitter LinkedIn Pinterest Email


    Extracting meaningful insights from unstructured data presents significant challenges for many organizations. Meeting recordings, customer interactions, and interviews contain invaluable business intelligence that remains largely inaccessible due to the prohibitive time and resource costs of manual review. Organizations frequently struggle to efficiently capture and use key information from these interactions, resulting in not only productivity gaps but also missed opportunities to use critical decision-making information.

    This post introduces a serverless meeting summarization system that harnesses the advanced capabilities of Amazon Bedrock and Amazon Transcribe to transform audio recordings into concise, structured, and actionable summaries. By automating this process, organizations can reclaim countless hours while making sure key insights, action items, and decisions are systematically captured and made accessible to stakeholders.

    Many enterprises have standardized on infrastructure as code (IaC) practices using Terraform, often as a matter of organizational policy. These practices are typically driven by the need for consistency across environments, seamless integration with existing continuous integration and delivery (CI/CD) pipelines, and alignment with broader DevOps strategies. For these organizations, having AWS solutions implemented with Terraform helps them maintain governance standards while adopting new technologies. Enterprise adoption of IaC continues to grow rapidly as organizations recognize the benefits of automated, version-controlled infrastructure deployment.

    This post addresses this need by providing a complete Terraform implementation of a serverless audio summarization system. With this solution, organizations can deploy an AI-powered meeting summarization solution while maintaining their infrastructure governance standards. The business benefits are substantial: reduced meeting follow-up time, improved knowledge sharing, consistent action item tracking, and the ability to search across historical meeting content. Teams can focus on acting upon meeting outcomes rather than struggling to document and distribute them, driving faster decision-making and better organizational alignment.

    What are Amazon Bedrock and Amazon Transcribe?

    Amazon Bedrock is a fully managed service that offers a choice of high-performing foundation models (FMs) from leading AI companies like AI21 Labs, Anthropic, Cohere, DeepSeek, Luma, Meta, Mistral AI, poolside (coming soon), Stability AI, TwelveLabs (coming soon), Writer, and Amazon Nova through a single API, along with a broad set of capabilities to build generative AI applications with security, privacy, and responsible AI. With Amazon Bedrock, you can experiment with and evaluate top FMs for your use case, customize them with your data using techniques such as fine-tuning and Retrieval Augmented Generation (RAG), and build agents that execute tasks using your enterprise systems and data sources.

    Amazon Transcribe is a fully managed, automatic speech recognition (ASR) service that makes it straightforward for developers to add speech to text capabilities to their applications. It is powered by a next-generation, multi-billion parameter speech FM that delivers high-accuracy transcriptions for streaming and recorded speech. Thousands of customers across industries use it to automate manual tasks, unlock rich insights, increase accessibility, and boost discoverability of audio and video content.

    Solution overview

    Our comprehensive audio processing system combines powerful AWS services to create a seamless end-to-end solution for extracting insights from audio content. The architecture consists of two main components: a user-friendly frontend interface that handles customer interactions and file uploads, and a backend processing pipeline that transforms raw audio into valuable, structured information. This serverless architecture facilitates scalability, reliability, and cost-effectiveness while delivering insightful AI-driven analysis capabilities without requiring specialized infrastructure management.

    The frontend workflow consists of the following steps:

    1. Users upload audio files through a React-based frontend delivered globally using Amazon CloudFront.
    2. Amazon Cognito provides secure authentication and authorization for users.
    3. The application retrieves meeting summaries and statistics through AWS AppSync GraphQL API, which invokes AWS Lambda functions to query.

    The processing consists of the following steps:

    1. Audio files are stored in an Amazon Simple Storage Service (Amazon S3) bucket.
    2. When an audio file is uploaded to Amazon S3 in the audio/{user_id}/ prefix, an S3 event notification sends a message to an Amazon Simple Queue Service (Amazon SQS) queue.
    3. The SQS queue triggers a Lambda function, which initiates the processing workflow.
    4. AWS Step Functions orchestrates the entire transcription and summarization workflow with built-in error handling and retries.
    5. Amazon Transcribe converts speech to text with high accuracy.
    6. uses an FM (specifically Anthropicโ€™s Claude) to generate comprehensive, structured summaries.
    7. Results are stored in both Amazon S3 (raw data) and Amazon DynamoDB (structured data) for persistence and quick retrieval.

    For additional security, AWS Identity and Access Management helps manage identities and access to AWS services and resources.

    The following diagram illustrates this architecture.

    This architecture provides several key benefits:

    • Fully serverless โ€“ Automatic scaling and no infrastructure to manage
    • Event-driven โ€“ Real-time responses from components based on events
    • Resilient โ€“ Built-in error handling and retry mechanism
    • Secure โ€“ Authentication, authorization, and encryption throughout
    • Cost-effective โ€“ Pay-per-use price model
    • Globally available โ€“ Content delivery optimized for users worldwide
    • Highly extensible โ€“ Seamless integration with additional services

    Letโ€™s walk through the key components of our solution in more detail.

    Project structure

    Our meeting audio summarizer project follows a structure with frontend and backend components:

    sample-meeting-audio-summarizer-in-terraform/ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    โ”œโ”€โ”€ backend/ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    โ”‚ ย  โ”œโ”€โ”€ functions/ ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  # Lambda function codeย  ย  ย  ย  ย  ย  ย  ย  ย  ย 
    โ”‚ ย  โ”‚ ย  โ”œโ”€โ”€ audio-processing/ ย  ย  ย  ย  ย  ย  ย  ย # Audio processing functionsย  ย  ย  ย  ย  ย  ย 
    โ”‚ ย  โ”‚ ย  โ”œโ”€โ”€ authentication/ ย  ย  ย  ย  ย  ย  ย  ย  ย # Authentication functionsย  ย  ย  ย  ย  ย  ย  ย 
    โ”‚ ย  โ”‚ ย  โ”œโ”€โ”€ data-access/ ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  # Data access functionsย  ย  ย  ย  ย  ย  ย  ย  ย ย 
    โ”‚ ย  โ”‚ ย  โ”œโ”€โ”€ queue-processing/ ย  ย  ย  ย  ย  ย  ย  ย # SQS queue processing functionsย  ย  ย  ย  ย 
    โ”‚ ย  โ”‚ ย  โ”œโ”€โ”€ summarization/ ย  ย  ย  ย  ย  ย  ย  ย  ย  # Summarization functionsย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    โ”‚ ย  โ”‚ ย  โ”œโ”€โ”€ transcription/ ย  ย  ย  ย  ย  ย  ย  ย  ย  # Transcription functionsย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    โ”‚ ย  โ”‚ ย  โ””โ”€โ”€ zipped/ ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย # Zipped Lambda functions for deploymentย 
    โ”‚ ย  โ””โ”€โ”€ terraform/ ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  # Infrastructure as Codeย  ย  ย  ย  ย  ย  ย  ย  ย 
    โ”‚ ย  ย  ย  โ”œโ”€โ”€ modules/ ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  # Terraform modulesย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    โ”‚ ย  ย  ย  โ”‚ ย  โ”œโ”€โ”€ api/ ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  # AppSync GraphQL APIย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    โ”‚ ย  ย  ย  โ”‚ ย  โ”œโ”€โ”€ auth/ ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย # Cognito authenticationย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    โ”‚ ย  ย  ย  โ”‚ ย  โ”œโ”€โ”€ compute/ ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  # Lambda functionsย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    โ”‚ ย  ย  ย  โ”‚ ย  โ”œโ”€โ”€ messaging/ ย  ย  ย  ย  ย  ย  ย  ย  ย  # SQS queues and S3 notificationsย  ย  ย  ย ย 
    โ”‚ ย  ย  ย  โ”‚ ย  โ”œโ”€โ”€ network/ ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  # CloudFront and S3 websiteย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    โ”‚ ย  ย  ย  โ”‚ ย  โ”œโ”€โ”€ orchestration/ ย  ย  ย  ย  ย  ย  ย  # Step Functionsย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    โ”‚ ย  ย  ย  โ”‚ ย  โ”œโ”€โ”€ queue-processor/ ย  ย  ย  ย  ย  ย  # Queue processing Lambdaย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    โ”‚ ย  ย  ย  โ”‚ ย  โ””โ”€โ”€ storage/ ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  # S3 and DynamoDBย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    โ”‚ ย  ย  ย  โ”œโ”€โ”€ main.tf ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย # Main Terraform configurationย ย ย ย ย ย ย ย ย ย ย 
    โ”‚ ย  ย  ย  โ”œโ”€โ”€ outputs.tf ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  # Output valuesย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    โ”‚ ย  ย  ย  โ”œโ”€โ”€ variables.tf ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  # Input variablesย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    โ”‚ ย  ย  ย  โ””โ”€โ”€ terraform.tfvars ย  ย  ย  ย  ย  ย  ย  ย  # Variable valuesย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    โ”œโ”€โ”€ docs/ ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย # Documentation and architecture diagrams
    โ”œโ”€โ”€ frontend/ ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย # React web applicationย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    โ”‚ ย  โ”œโ”€โ”€ public/ ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย # Public assetsย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    โ”‚ ย  โ””โ”€โ”€ src/ ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  # React application sourceย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    โ”‚ ย  ย  ย  โ”œโ”€โ”€ components/ ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย # React componentsย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    โ”‚ ย  ย  ย  โ”œโ”€โ”€ graphql/ ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  # GraphQL queries and mutationsย ย ย ย ย ย ย ย ย ย 
    โ”‚ ย  ย  ย  โ”œโ”€โ”€ pages/ ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  # Page componentsย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    โ”‚ ย  ย  ย  โ””โ”€โ”€ services/ ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย # Service integrationsย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    โ””โ”€โ”€ scripts/ ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  # Deployment and utility scriptsย ย ย ย ย ย ย ย ย 
    โ”œโ”€โ”€ deploy.shย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  # Main deployment scriptย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    โ””โ”€โ”€ zip-lambdas.shย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย # Script to zip all backend lambdasย  

    Infrastructure setup Terraform

    Our solution uses Terraform to define and provision the AWS infrastructure in a consistent and repeatable way. The main Terraform configuration orchestrates the various modules. The following code shows three of them:

    # Compute Module - Lambda functions
    module "compute" {
    ย ย source = "./modules/compute"
    ย ย 
    ย ย aws_region ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย = var.aws_region
    ย ย aws_account ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  = data.aws_caller_identity.current.account_id
    ย ย meeting_statistics_table_name ย  ย  = var.meeting_statistics_table_name
    ย ย meeting_summaries_table_name ย  ย  ย = var.meeting_summaries_table_name
    ย ย cognito_user_pool_id ย  ย  ย  ย  ย  ย  ย = module.auth.cognito_user_pool_id
    ย ย iam_roles ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  = module.auth.iam_roles
    ย ย storage_bucket ย  ย  ย  ย  ย  ย  ย  ย  ย  ย = module.storage.storage_bucket
    ย ย model_id ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย = var.model_id
    ย ย inference_profile_prefix ย  ย  ย  ย  ย = var.inference_profile_prefix
    }
    
    # Orchestration Module - Step Functions
    module "orchestration" {
    ย ย source = "./modules/orchestration"
    ย ย 
    ย ย aws_region ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย = var.aws_region
    ย ย aws_account ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  = data.aws_caller_identity.current.account_id
    ย ย storage_bucket ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย = module.storage.storage_bucket
    ย ย iam_roles ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  = module.auth.iam_roles
    ย ย lambda_functions ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย = module.compute.lambda_functions
    }
    
    # Queue Processor Module - ProcessTranscriptionQueueFunction Lambda
    module "queue_processor" {
    ย ย source = "./modules/queue-processor"
    ย ย 
    ย ย storage_bucket ย  ย  ย  ย  ย  ย  ย  ย  ย  ย = module.storage.storage_bucket
    ย ย state_machine_arn ย  ย  ย  ย  ย  ย  ย  ย  = module.orchestration.state_machine_arn
    ย ย lambda_function_transcription_role = module.auth.iam_roles.lambda_function_transcription_role
    ย ย 
    ย ย depends_on = [
    ย ย  ย module.storage,
    ย ย  ย module.orchestration
    ย ย ]
    }

    Audio processing workflow

    The core of our solution is a Step Functions workflow that orchestrates the processing of audio files. The workflow handles language detection, transcription, summarization, and notification in a resilient way with proper error handling.

    Amazon Bedrock for summarization

    The summarization component is powered by Amazon Bedrock, which provides access to state-of-the-art FMs. Our solution uses Anthropicโ€™s Claude 3.7 Sonnet version 1 to generate comprehensive meeting summaries:

    prompt =ย f"""Even if it is a raw transcript of a meeting discussion, lacking clear structure and context and containing multiple speakers, incomplete sentences, and tangential topics, PLEASE PROVIDE a clear and thorough analysis as detailed as possible of this conversation. DO NOT miss any information. CAPTURE as much information as possible. Use bullet points instead of dashes in your summary.
    IMPORTANT: For ALL section headers, use plain text with NO markdown formatting (no #, ##, **, or * symbols). Each section header should be in ALL CAPS followed by a colon. For example: "TITLE:" not "# TITLE" or "## TITLE".

    CRITICAL INSTRUCTION: DO NOT use any markdown formatting symbols like #, ##, **, or * in your response, especially for the TITLE section. The TITLE section MUST start with "TITLE:" and not "# TITLE:" or any variation with markdown symbols.

    FORMAT YOUR RESPONSE EXACTLY AS FOLLOWS:

    TITLE: Give the meeting a short title 2 or 3 words that is related to the overall context of the meeting, find a unique name such a company name or stakeholder and include it in the title ย  ย  ย 

    TYPE: Depending on the context of the meeting, the conversation, the topic, and discussion, ALWAYS assign a type of meeting to this summary. Allowed Meeting types are: Client meeting, Team meeting, Technical meeting, Training Session, Status Update, Brainstorming Session, Review Meeting, External Stakeholder Meeting, Decision Making Meeting, and Problem Solving Meeting. This is crucial, don't overlook this.

    STAKEHOLDERS:
    Provide a list of the participants in the meeting, their company, and their corresponding roles. If the name is not provided or not understood, please replace the name with the word 'Not stated'. If a speaker does not introduce themselves, then don't include them in the STAKEHOLDERS section. ย 

    CONTEXT:
    provide a 10-15 summary or context sentences with the following information: Main reason for contact, Resolution provided, Final outcome, considering all the information above

    MEETING OBJECTIVES:
    provide all the objectives or goals of the meeting. Be thorough and detailed.

    CONVERSATION DETAILS:
    Customer's main concerns/requests
    Solutions discussed
    Important information verified
    Decisions made

    KEY POINTS DISCUSSED (Elaborate on each point, if applicable):
    List all significant topics and issues
    Important details or numbers mentioned
    Any policies or procedures explained
    Special requests or exceptions

    ACTION ITEMS & NEXT STEPS (Elaborate on each point, if applicable):
    What the customer needs to do:
    Immediate actions required
    Future steps to take
    Important dates or deadlines
    What the company will do (Elaborate on each point, if applicable):
    Processing or handling steps
    Follow-up actions promised
    Timeline for completion

    ADDITIONAL NOTES (Elaborate on each point, if applicable):
    Any notable issues or concerns
    Follow-up recommendations
    Important reminders

    TECHNICAL REQUIREMENTS & RESOURCES (Elaborate on each point, if applicable):
    Systems or tools discussed/needed
    Technical specifications mentioned
    Required access or permissions
    Resource allocation details

    Frontend implementation

    The frontend is built with React and provides the following features:

    • User authentication and authorization using Amazon Cognito
    • Audio file upload interface with progress indicators
    • Summary viewing with formatted sections (stakeholders, key points, action items)
    • Search functionality across meeting summaries
    • Meeting statistics visualization

    The frontend communicates with the backend through the AWS AppSync GraphQL API, which provides a unified interface for data operations.

    Security considerations

    Security is a top priority in our solution, which we address with the following measures:

    • User authentication is handled by Amazon Cognito
    • API access is secured with Amazon Cognito user pools
    • S3 bucket access is restricted to authenticated users
    • IAM roles follow the principle of least privilege
    • Data is encrypted at rest and in transit
    • Step Functions provide secure orchestration with proper error handling

    Benefits of using Amazon Bedrock

    Amazon Bedrock offers several key advantages for our meeting summarization system:

    • Access to state-of-the-art models โ€“ Amazon Bedrock provides access to leading FMs like Anthropicโ€™s Claude 3.7 Sonnet version 1, which delivers high-quality summarization capabilities without the need to train custom models.
    • Fully managed integration โ€“ Amazon Bedrock integrates seamlessly with other AWS services, allowing for a fully serverless architecture that scales automatically with demand.
    • Cost-efficiency โ€“ On-Demand pricing means you only pay for the actual processing time, making it cost-effective for variable workloads.
    • Security and compliance โ€“ Amazon Bedrock maintains data privacy and security, making sure sensitive meeting content remains protected within your AWS environment.
    • Customizable prompts โ€“ The ability to craft detailed prompts allows for tailored summaries that extract exactly the information your organization needs from meetings. Amazon Bedrock also provides prompt management and optimization, as well as the playground for quick prototyping.
    • Multilingual support โ€“ Amazon Bedrock can process content in multiple languages, making it suitable for global organizations.
    • Reduced development time โ€“ Pre-trained models minimize the need for extensive AI development expertise and infrastructure.
    • Continuous improvement โ€“ Amazon Bedrock provides a model choice, and the user can update the existing models with a single string change.

    Prerequisites

    Before implementing this solution, make sure you have:

    In the following sections, we walk through the steps to deploy the meeting audio summarizer solution.

    Clone the repository

    First, clone the repository containing the Terraform code:

    git clone https://github.com/aws-samples/sample-meeting-audio-summarizer-in-terraform
    cd sample-meeting-audio-summarizer-in-terraform

    Configure AWS credentials

    Make sure your AWS credentials are properly configured. You can use the AWS CLI to set up your credentials:

    aws configure --profile meeting-summarizer

    You will be prompted to enter your AWS access key ID, secret access key, default AWS Region, and output format.

    Install frontend dependencies

    To set up the frontend development environment, navigate to the frontend directory and install the required dependencies:

    cd frontend
    npm install

    Create configuration files

    Move to the terraform directory:

    cd ../backend/terraform/ ย 

    Update the terraform.tfvars file in the backend/terraform directory with your specific values. This configuration supplies values for the variables previously defined in the variables.tf file.

    You can customize other variables defined in variables.tf according to your needs. In the terraform.tfvars file, you provide actual values for the variables declared in variables.tf, so you can customize the deployment without modifying the core configuration files:

    aws_regionย ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย = "us-east-1"ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    aws_profileย ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  = "YOUR-AWS-PROFILE"ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย 
    environmentย ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  = "prod"ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    app_nameย ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย = "meeting-audio-summarizer"ย  ย  ย  ย  ย  ย  ย  ย  ย  ย 
    dynamodb_read_capacityย ย  ย  ย  ย  ย  ย  ย  ย  ย = 5ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    dynamodb_write_capacityย ย  ย  ย  ย  ย  ย  ย  ย  = 5ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    cognito_allowed_email_domainsย ย  ย  ย  ย  ย  = ["example.com"]ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    model_idย ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย = "anthropic.claude-3-7-sonnet-20250219-v1:0"ย ย 
    inference_profile_prefixย ย  ย  ย  ย  ย  ย  ย  ย = "us"ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    frontend_bucket_nameย ย  ย  ย  ย  ย  ย  ย  ย  ย  ย = "a-unique-bucket-name"ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    storage_bucketย ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย = "a-unique-bucket-name"ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    cognito_domain_prefixย ย  ย  ย  ย  ย  ย  ย  ย  ย  = "meeting-summarizer"ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    meeting_statistics_table_nameย ย  ย  ย  ย  ย  = "MeetingStatistics"ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
    meeting_summaries_table_nameย ย  ย  ย  ย  ย  ย = "MeetingSummaries"ย  

    For a-unique-bucket-name, choose a unique name that is meaningful and makes sense to you.

    Initialize and apply Terraform

    Navigate to the terraform directory and initialize the Terraform environment:

    terraform init

    To upgrade the previously selected plugins to the newest version that complies with the configurationโ€™s version constraints, use the following command:

    terraform initย -upgrade

    This will cause Terraform to ignore selections recorded in the dependency lock file and take the newest available version matching the configured version constraints.

    Review the planned changes:

    terraform plan

    Apply the Terraform configuration to create the resources:

    terraform apply

    When prompted, enter yes to confirm the deployment. You can run terraform apply -auto-approve to skip the approval question.

    Deploy the solution

    After the backend deployment is complete, deploy the entire solution using the provided deployment script:

    cd ../../scripts
    sudo chmodย +x deploy.sh
    ./deploy.sh

    This script handles the entire deployment process, including:

    • Deploying the backend infrastructure using Terraform
    • Automatically configuring the frontend with backend resource information
    • Building and deploying the frontend application
    • Setting up CloudFront distribution
    • Invalidating the CloudFront cache to make sure the latest content is served

    Verify the deployment

    After the entire solution (both backend and frontend) is deployed, in your terminal you should see something similar to the following text:

    Deployment complete! :)
    
    ============================================================================
    Your app is available at: https://d1e5vh2t5qryy2.cloudfront.net.
    ============================================================================

    The CloudFront URL (*.cloudfront.net/) is unique, so yours will not be the same.

    Enter the URL into your browser to open the application. You will see a login page like the following screenshot. You must create an account to access the application.

    Start by uploading a file:

    View generated summaries in a structured format:

    See meeting statistics:

    Clean up

    To cleanup the solution you must run this command.

    terraform destroy

    This command will completely remove the AWS resources provisioned by Terraform in your environment. When executed, it will display a detailed plan showing the resources that will be destroyed, and prompt for confirmation before proceeding. The process may take several minutes as it systematically removes infrastructure components in the correct dependency order.

    Remember to verify the destruction is complete by checking your AWS Console to make sure no billable resources remain active.

    Cost considerations

    When implementing this solution, itโ€™s important to understand the cost implications of each component. Letโ€™s analyze the costs based on a realistic usage scenario, based on the following assumptions:

    • 50 hours of audio processing per month
    • Average meeting length of 30 minutes
    • 100 active users accessing the system
    • 5 million API queries per month

    The majority of the cost comes from Amazon Transcribe (approximately 73% of total cost at $72.00), with AWS AppSync being the second largest cost component (approximately 20% at $20.00). Despite providing the core AI functionality, Amazon Bedrock costs approximately 3% of total at $3.00, and DynamoDB, CloudFront, Lambda, Step Functions, Amazon SQS, and Amazon S3 make up the remaining 4%.

    We can take advantage of the following cost optimization opportunities:

    • Implement audio compression to reduce storage and processing costs
    • Use Amazon Transcribe Medical for medical meetings (if applicable) for higher accuracy
    • Implement caching strategies for frequently accessed summaries to reduce AppSync and DynamoDB costs
    • Consider reserved capacity for DynamoDB if usage patterns are predictable

    The following table summarizes these prices. Refer the AWS pricing pages for each service to learn more about the AWS pricing model.

    Service Usage Unit Cost Monthly Cost
    Amazon Bedrock 500K input tokens100K output tokens $3.00 per million tokens$15.00 per million tokens $3
    Amazon CloudFront 5GB data transfer $0.085 per GB $0.43
    Amazon Cognito 100 Monthly Active Users (MAU) Free tier (first 50K users) $0
    Amazon DynamoDB 5 RCU/WCU, ~ 1GB storage $0.25 per RCU/WCU + $0.25/GB $2.75
    Amazon SQS 1,000 messages $0.40 per million $0.01
    Amazon S3 Storage 3GB audio + 12MB transcripts/summaries $0.023 per GB $0.07
    AWS Step Functions 1,000 state transitions $0.025 per 1,000 $0.03
    AWS AppSync 5M queries $4.00 per million $20
    AWS Lambda 300 invocations, 5s avg. runtime, 256MB Various $0.10
    Amazon Transcribe 50 hours of audio $1.44 per hour $72
    TOTAL 98.39

    Next steps

    The next phase of our meeting summarization solution will incorporate several advanced AI technologies to deliver greater business value. Amazon Sonic Model can improve transcription accuracy by better handling multiple speakers, accents, and technical terminologyโ€”addressing a key pain point for global organizations with diverse teams. Meanwhile, Amazon Bedrock Flows can enhance the systemโ€™s analytical capabilities by implementing automated meeting categorization, role-based summary customization, and integration with corporate knowledge bases to provide relevant context. These improvements can help organizations extract actionable insights that would otherwise remain buried in conversation.

    The addition of real-time processing capabilities helps teams see key points, action items, and decisions as they emerge during meetings, enabling immediate clarification and reducing follow-up questions. Enhanced analytics functionality track patterns across multiple meetings over time, giving management visibility into communication effectiveness, decision-making processes, and project progress. By integrating with existing productivity tools like calendars, daily agenda, task management systems, and communication services, this solution makes sure that meeting intelligence flows directly into daily workflows, minimizing manual transfer of information and making sure critical insights drive tangible business outcomes across departments.

    Conclusion

    Our meeting audio summarizer combines AWS serverless technologies with generative AI to solve a critical productivity challenge. It automatically transcribes and summarizes meetings, saving organizations thousands of hours while making sure insights and action items are systematically captured and shared with stakeholders.

    The serverless architecture scales effortlessly with fluctuating meeting volumes, costs just $0.98 per meeting on average, and minimizes infrastructure management and maintenance overhead. Amazon Bedrock provides enterprise-grade AI capabilities without requiring specialized machine learning expertise or significant development resources, and the Terraform-based infrastructure as code enables rapid deployment across environments, customization to meet specific organizational requirements, and seamless integration with existing CI/CD pipelines.

    As the field of generative AI continues to evolve and new, better-performing models become available, the solutionโ€™s ability to perform its tasks will automatically improve on performance and accuracy without additional development effort, enhancing summarization quality, language understanding, and contextual awareness. This makes the meeting audio summarizer an increasingly valuable asset for modern businesses looking to optimize meeting workflows, enhance knowledge sharing, and boost organizational productivity.

    Additional resources

    Refer to Amazon Bedrock Documentation for more details on model selection, prompt engineering, and API integration for your generative AI applications. Additionally, see Amazon Transcribe Documentation for information about the speech-to-text serviceโ€™s features, language support, and customization options for achieving accurate audio transcription. For infrastructure deployment needs, see Terraform AWS Provider Documentation for detailed explanations of resource types, attributes, and configuration options for provisioning AWS resources programmatically. To enhance your infrastructure management skills, see Best practices for using the Terraform AWS Provider, where you can find recommended approaches for module organization, state management, security configurations, and resource naming conventions that will help make sure your AWS infrastructure deployments remain scalable and maintainable.


    About the authors

    Dunieski Otano is a Solutions Architect at Amazon Web Services based out of Miami, Florida. He works with World Wide Public Sector MNO (Multi-International Organizations) customers. His passion is Security, Machine Learning and Artificial Intelligence, and Serverless. He works with his customers to help them build and deploy high available, scalable, and secure solutions. Dunieski holds 14 AWS certifications and is an AWS Golden Jacket recipient. In his free time, you will find him spending time with his family and dog, watching a great movie, coding, or flying his drone.

    Joel Asante, an Austin-based Solutions Architect at Amazon Web Services (AWS), works with GovTech (Government Technology) customers. With a strong background in data science and application development, he brings deep technical expertise to creating secure and scalable cloud architectures for his customers. Joel is passionate about data analytics, machine learning, and robotics, leveraging his development experience to design innovative solutions that meet complex government requirements. He holds 13 AWS certifications and enjoys family time, fitness, and cheering for the Kansas City Chiefs and Los Angeles Lakers in his spare time.

    Ezzel Mohammed is a Solutions Architect at Amazon Web Services (AWS) based in Dallas, Texas. He works on the International Organizations team within the World Wide Public Sector, collaborating closely with UN agencies to deliver innovative cloud solutions. With a Computer Science background, Ezzeldien brings deep technical expertise in system design, helping customers architect and deploy highly available and scalable solutions that meet international compliance requirements. He holds 9 AWS certifications and is passionate about applying AI Engineering and Machine Learning to address global challenges. In his free time, he enjoys going on walks, watching soccer with friends and family, playing volleyball, and reading tech articles.



    Source link

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    admin
    • Website

    Related Posts

    Implementing on-demand deployment with customized Amazon Nova models on Amazon Bedrock

    July 21, 2025

    Building cost-effective RAG applications with Amazon Bedrock Knowledge Bases and Amazon S3 Vectors

    July 20, 2025

    Manage multi-tenant Amazon Bedrock costs using application inference profiles

    July 20, 2025

    Deploy a full stack voice AI agent with Amazon Nova Sonic

    July 19, 2025

    Build real-time travel recommendations using AI agents on Amazon Bedrock

    July 18, 2025

    Evaluating generative AI models with Amazon Nova LLM-as-a-Judge on Amazon SageMaker AI

    July 18, 2025
    Leave A Reply Cancel Reply

    Demo
    Top Posts

    ChatGPT’s viral Studio Ghibli-style images highlight AI copyright concerns

    March 28, 20254 Views

    Best Cyber Forensics Software in 2025: Top Tools for Windows Forensics and Beyond

    February 28, 20253 Views

    An ex-politician faces at least 20 years in prison in killing of Las Vegas reporter

    October 16, 20243 Views

    Laws, norms, and ethics for AI in health

    May 1, 20252 Views
    Don't Miss

    ‘The Cosby Show’ actor Malcolm-Jamal Warner’s cause of death released by police

    July 22, 2025

    Malcolm-Jamal Warner’s cause of death has been released by police.The actor, who is best known…

    Georgia Ethics Commission won’t investigate source of Republican Burt Jones’ $10M loan

    July 22, 2025

    Russian lawmakers pass a bill punishing online searches for information deemed to be ‘extremist’

    July 22, 2025

    How Financial Services Companies Use Agentic AI to Enhance Productivity, Efficiency and Security

    July 22, 2025
    Stay In Touch
    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    • YouTube
    • Vimeo

    Subscribe to Updates

    Get the latest creative news from SmartMag about art & design.

    Demo
    Top Posts

    ChatGPT’s viral Studio Ghibli-style images highlight AI copyright concerns

    March 28, 20254 Views

    Best Cyber Forensics Software in 2025: Top Tools for Windows Forensics and Beyond

    February 28, 20253 Views

    An ex-politician faces at least 20 years in prison in killing of Las Vegas reporter

    October 16, 20243 Views
    Stay In Touch
    • Facebook
    • YouTube
    • TikTok
    • WhatsApp
    • Twitter
    • Instagram
    Latest Reviews
    Demo
    About Us
    About Us

    Your source for the lifestyle news. This demo is crafted specifically to exhibit the use of the theme as a lifestyle site. Visit our main page for more demos.

    We're accepting new partnerships right now.

    Email Us: info@example.com
    Contact: +1-320-0123-451

    Facebook X (Twitter) Pinterest YouTube WhatsApp
    Our Picks

    ‘The Cosby Show’ actor Malcolm-Jamal Warner’s cause of death released by police

    July 22, 2025

    Georgia Ethics Commission won’t investigate source of Republican Burt Jones’ $10M loan

    July 22, 2025

    Russian lawmakers pass a bill punishing online searches for information deemed to be ‘extremist’

    July 22, 2025
    Most Popular

    ChatGPT’s viral Studio Ghibli-style images highlight AI copyright concerns

    March 28, 20254 Views

    Best Cyber Forensics Software in 2025: Top Tools for Windows Forensics and Beyond

    February 28, 20253 Views

    An ex-politician faces at least 20 years in prison in killing of Las Vegas reporter

    October 16, 20243 Views

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    14 Trends
    Facebook X (Twitter) Instagram Pinterest YouTube Dribbble
    • Home
    • Buy Now
    © 2025 ThemeSphere. Designed by ThemeSphere.

    Type above and press Enter to search. Press Esc to cancel.