How to build a Serverless AI-First Podcast Platform on AWS

Olalekan Elesin
4 min readSep 5, 2020

One thing COVID-19 forced on everyone is digital transformation, largely by disrupting existing assumptions that humans needed to gather together in specific locations to create value. This assumption has been nullified by the use of technology platforms such as Zoom, BlueJeans, Google Meet, Instagram Live, Loom, YouTube and many more for holding meetings, conferences, seminars, lectures, and thesis defense.

At the heart of digital transformation, in 2020, is AI (Artificial Intelligence). According to AI expert Kai-Fu Lee says, “Implementation is what makes academic advances meaningful and what will truly end up changing the fabric of our daily lives.” AI is really transforming our lives from personalization to robotics to AV (autonomous vehicles). However, one field that has been consistently lagged behind is The Church of Jesus Christ. In the following sections, I will demonstrate how I’m developing a Serverless AI-First podcast platform on AWS to spread the Gospel of Christ.

User Problem

A lot digital contents were created during the COVID-19 lockdown months with church services held virtually, through audio and/or video livestreams. Discovering the right content that provides encouragement, teaching us truth and training us to live God’s way can be quite cumbersome through search. Another problem is, we all are at different phases in our lives with varying experiences and challenges. How might we help people enjoy similar personalized experiences such as Netflix but with the Word of God’s grace which is able to shape them into better persons and more valuable to the society?

Solution

I could stand on street corners or go from door-to-door, but I would not achieve much, besides, there’s social distancing. Clearly, an innovative approach using technology leveraging my experience would serve me better. Which is why I turned to Amazon Web Services to build my idea such that users can:

  1. Easily discover relevant content that addresses issues they are faced with in life, not only entertainment.
  2. Enjoy personalized experiences with content that is able to build them up and encourage them even as we navigate through these trying times.

The idea is a Serverless AI-First podcast platform using the following AWS technologies:

  1. Amazon S3 for content storage.
  2. Amazon Cloudfront, for content delivery.
  3. Amazon Transcribe, an AWS AI service to convert speech to text
  4. Amazon Comprehend, an AWS AI service to glean insights and relationships from text
  5. Amazon ElasticSearch Service, managed service for full-text search
  6. Amazon Personalize, 20 years of Amazon.com recommendation engine packaged as a service.
  7. Amazon API Gateway + AWS Lambda, the usual serverless suspects.
  8. AWS Amplify

High Level Architecture

Be aware that I would not provide code details as they are proprietary. However, the high level architecture is detailed enough.

How to build a Serverless AI-First podcast platform on AWS

From a product perspective, the podcast platform 2-sided marketplace, with long-tail niche on character building through faith-based teachings. It is designed to bring creators (faith-based teachers) and listeners together with search and personalization as foundation of the user experience.

From a technical perspective, AWS makes this really easy to build. I only need to focus on users, the experience they want to have, and the goals they want to achieve. The platform is AI-First, this the core value which would have taken weeks, even not months, if I had to manage these machine learning models and the application infrastructure.

How it works

Below is the sequence tasks chained together to deliver our user experience:

  1. A faith-based content creator uploads his/her audio content via our web or mobile client which is saved immediately to Amazon S3 and its metadata to Amazon DynamoDB Table.
  2. Saving to S3 automatically triggers an Amazon Transcribe job.
  3. Once the transcription job is completed, an AWS Lambda function is triggered which calls the Amazon Comprehend to extract key phrases and insights from the text.
  4. The transcribed text and key phrases from Amazon Comprehend are then saved into Amazon ElasticSearch Service to power our search experience.
  5. We use Amazon Personalize to rerank search results from Amazon ElasticSearch as well as provide personalized recommendations to our users. We also use Amazon Personalize for recommending similar faith-based content to our users, improving content discovery for our users.

Conclusion

I cannot overemphasize the benefits of going serverless and AI-First on Amazon Web Services. Over 80% of the podcast platform touchpoints is driven by AI without writing, training and maintaining any machine learning algorithm. Another benefit is elasticity and scale. Our architecture is scales with user demands and we only pay for what we use.

Looking forward to your comments and feedback.

Join the AWS Community Builders today.

Build Machine Learning on AWS.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Olalekan Elesin
Olalekan Elesin

Written by Olalekan Elesin

Enterprise technologist with experience across technical leadership, architecture, cloud, machine learning, big-data and other cool stuff.

Responses (1)

Write a response

sounds really interesting and cool.
Do you have this solution's code-repo to share?
Thanks a bunch

--