SummarizeMe: Your Meeting TL;DR App
Discover how AI tools helped me build SummarizeMe, an app that transforms meeting recordings into concise summaries.
Antje Barth
Amazon Employee
Published Sep 30, 2024
If you've followed some of my recent keynotes and talks, you know I've been passionate about how AI is transforming not just what we build but also how we build it. As developers, we're witnessing a pivotal shift where AI is automating repetitive tasks, enabling us to focus more on innovation and creativity.
One example from my day-to-day life are meetings. They are essential for collaboration, however, they often generate lengthy meeting recordings that can be time-consuming to review. (And let's be honest, we often don't find the time to watch them anyways.)
In this post, I'll show you how I built SummarizeMe, a meeting summarization app, with the help of AI tools. Along the way, I'll explore how advancements in AI reasoning and developer tools are changing the way we build applications.
π» Jump directly to the GitHub repo.
SummarizeMe performs the following steps:
- Transcribe audio/video content using Amazon Transcribe.
- Summarize meeting transcriptions using Anthropic's Claude 3 Haiku in Amazon Bedrock.
- Extract key points and action items from the meeting.
- Create video summaries using HeyGen.
- Save transcriptions, key points, and action items to separate text files.
π Bonus: The generated video summary will feature the latest version of my agentic-looking avatar!
Before diving into coding, I set up my development environment. I chose Visual Studio Code (VSCode) as my IDE, with the Amazon Q Developer plugin installed to leverage AI-assisted coding features. (See: Installing the Amazon Q Developer extension or plugin in your IDE.)
I chose Python to develop the app and installed the necessary Python libraries, such as as
boto3
for interacting with AWS services and requests
for API calls.To kickstart the development of SummarizeMe, I leveraged the /dev feature of Amazon Q Developer to create a first draft of my codebase. This agent for software development can generate foundational code quickly by simply describing what you want the application to do.
In the Amazon Q panel within VSCode, I entered:
Within moments, Amazon Q Developer Agent provided me with a first draft of the code, including skeleton functions for each of these tasks.
The initial code provided a solid foundation. Next, I reviewed each function and enhanced the function logic to meet my needs. For example, the first code draft used the
invoke_model()
API in Amazon Bedrock, I changed the code to use the converse()
API instead. The initial code also used a single Bedrock API call to generate a meeting transcript summary that included both the key points discussed and the action items. For the video summary generation, I needed the key points and action items as separate inputs. Therefore, I asked Q Developer Agent to split the the Bedrock API call into two distinct API calls.
Previously, the Q Developer Agent required human intervention to review and approve a work plan before writing code. Now, with significant internal improvements, the agent combines the planning and coding phases and works in iterations. This means it can adapt on the fly and autonomously solve problems without direct human guidance. You can see this nicely in my change request.
The agent responded with complete and accurate code updates to separate the API calls that I reviewed and accepted.
Before I committed the code, I asked Q Developer to create a README file and make sure that all my code is well-documented. That's a real life saver!
By iteratively refining the code that way, I was able to enhance SummarizeMe's functionality, improve reliability, and ensure that all components worked together seamlessly.
π» The complete SummarizeMe code is available in this GitHub repo.
Time to see my app in action. I created a meeting recording with four (AI-generated) meeting attendees discussing the (fictional) Alpha Project.
In the Terminal app, I run
python app.py
to start SummarizeMe. The script will then:
- Prompt me for the input file path
- Transcribe the audio/video using Amazon Transcribe
- Summarize the transcription and extract key points and action items using Amazon Bedrock
- Create a video summary using HeyGen
- Save the transcription, key points, and action items to separate text files locally.
And yes, that's my agentic-looking avatar and cloned AI-voice in that video! π
Throughout the development of SummarizeMe, I observed how advancements in AI reasoning are reshaping software development. The ability of AI tools to understand complex instructions and generate functional code is transforming what we build, how we build it, and expanding who can become a developer. What will YOU build?
- π» The complete SummarizeMe code is available in this GitHub repo.
- .π₯ The generated SummarizeMe video is available on YouTube.
Now excuse me, I have a full AI-generated playlist of meeting summaries to catch up on! π
Β
Β
Any opinions in this post are those of the individual author and may not reflect the opinions of AWS.