Download the case study

Lirica: Using the power of music to teach a language

Category: Entertainment

Services: Managed Engineering Teams, Cloud Architecture Design & Review

Lirica
  • Successfully developed a robust and cost-effective backup solution
  • Increased the speed of content delivery by using Amazon CloudFront
  • Data-driven decisions based on insights received from user activities
  • Provided a cost-effective alerting solution using AWS& open-source solutions.
  • Achieved 0 minutes of RPO (approx.) & 1–2 Minutes of RTO (approx).

About Lirica

Learning a new language is difficult, and while there are a lot of apps that teach users a new language, nobody has been able to make the process more engaging. Lirica is here to solve this problem as it takes a unique approach of using the power of music to help users learn a language fast. The company has raised $ 1 million in funding from Sony Music Entertainment and Veridian Ventures. Lirica has the belief that although music has no language, music can help you learn a new language with ease.

Challenge

  • Lirica wanted to secure data like the learning progress of the user, favorite songs of the user, languages the user wants to learn, and so on.
  • The application was not ready for performance-optimized scalability.
  • Slow content delivery and poor user experience across some international locations.
  • Lacked robust security as it needed to store user data to deliver a more personalized experience.
  • Due to limited developer experience, inability to provide relational data, and limited functionality, Lirica wanted to migrate from Firebase to PostgreSQL using Amazon RDS.

Solution

Cost-effective backup solution

A cost-effective backup solution was a prerequisite for a successful solution. This is because, in case of an outage, the data regarding the progress of users, their favorite songs, and their preferred language would be lost. Our expert team of AWS engineers delivered a cost-effective backup solution to the client. We stored database dump into Amazon S3 to achieve our goal.

Scalable and fast solution

The idea was to build a highly scalable solution and make the application future-proof. We implemented a Container as a service(CaaS) ECS solution to achieve cost-effective scalability. Fast content delivery is a necessity for Lirica as its users would operate the app from multiple countries. A lag in content delivery will spoil the user experience if the songs are not uploaded in time or if the lyrics and songs are not in sync. We achieved faster content delivery and fast edge performance by using Amazon Cloudfront.

Robust security

Lirica would be handling the user details of people from multiple countries. Hence the app needed to have robust security. We handled the security concerns of the customer by implementing AWS WAF and WAF boat service. To make security water-tight, we also used the AWS Secrets Manager service. The service stored sensitive data like database passwords, API backend calls, environment variables, and wallets.

Effective database migration

The client already had Firebase as the database. Lirica wanted to effectively migrate its database, avoiding any data loss in the process. We migrated the database from Firebase to PostgreSQL using the Amazon RDS service. All the data was migrated effectively onto the new database.

Architecture Overview

Lirica:Using the power of music to teach a language

AWS Services

Amazon RDS

  • Amazon RDS was employed to store application and user data, including user account information, song information, lesson information, lesson section information, payment information, and so on.
  • In Amazon RDS, restricted access to Amazon VPC private network has been kept for specific IP addresses for security purposes.

Amazon ECS

  • Containerized APIs were developed and hosted in Amazon ECS.
  • For delivering new modules and updates, Amazon Elastic Container Service (ECS) manages the application’s backend. Examples include various modules and functionalities such as lesson interaction, song challenge, In-app payment, song, lesson, section creation, etc.

AWS Task Definition

  • The AWS task definition gives commands to ECS and describes the container as well as volume definitions of an Amazon ECS task. AWS task definition allows the developers to specify which Docker images to utilize, the resources that will be required, and other such configurations related to launching the task definition.

Amazon S3

  • Documents belonging to various users, such as administrators, students, and teachers, were stored in an S3 bucket. Admin of Lirica, for example, will have access to data on s3 like song asserts, lesson assets, etc.
  • All uploaded documents will be stored in S3.

Amazon CloudFront

  • CloudFront was used to distribute static content across the application front end. It helped create customized user experiences and deliver content with high speed using its edge computing capabilities across multiple channels.
  • CloudFront distribution, for example, pulls files from S3 and displays them in the front end, as indicated in the diagram.

Amazon SES and SNS

  • Amazon SES is a service that sends emails to users. An email will be sent to the user after the user successfully registers with the application.
  • We have set up an Amazon SNS for notifications of backend services scale(ECS). Apart from this, the Amazon SNS also helps us in setting up cloud watch alarm trigger notifications.

Amazon ECR

  • We stored the Docker images in Amazon Elastic Registry(ECR) for deployments.

Application Load Balancer

  • The main objective of the application load balancer is to distribute traffic across targets like EC2 instances in multiple zones. The idea is to ensure that there is no overloading of the system so as to ensure its optimum performance.

Monitoring

  • Amazon CloudWatch is used in the application to keep track of infrastructure-related logs, metrics, and data, while CloudTrail is used to keep track of operational actions in AWS accounts.

Related Case Studies

ONA dating - case study
Freewire - case study

Speak to our experts to unlock the value of Mobility, IoT, and Data Insights!