Revolutionizing Video Analysis with Parallel Processing

Revolutionizing Video Analysis with Parallel Processing

In the rapidly evolving world of technology, efficiency and cost-effectiveness are key. Today, I'm thrilled to share how I revolutionized the video analysis process for a mock interview practice tool using parallel processing, drastically reducing server costs while delivering faster analytics to users. This achievement has not only improved the user experience but also brought immense satisfaction and pride to me.

The Objective: Enhancing Mock Interview Practice

The primary objective of this project was to create an efficient mock interview practice tool. Here's how it works:
Users can practice mock interviews by entering details like the job role they want and the company they are applying to. The system then generates interview questions tailored to their input. Users answer these questions while recording their responses, and within just 15 minutes, they receive a comprehensive report analyzing 10 crucial parameters, including:
  • Professionalism
  • Confidence
  • Optimism
  • Passion & Enthusiasm
  • Industry Keywords
  • Clarity & Communication
  • Fluency Report
  • Articulation & Body Language
  • Sociability & Facial Expression
  • Energy Level & Speech Pace
This tool empowers users to improve their interview skills through detailed analytics, preparing them better for real-world opportunities.

The Challenge: High Server Costs and Long Wait Times

Before implementing parallel processing, I faced significant challenges:
  • High Server Costs: The server had to be kept ON continuously, resulting in monthly costs of around ₹65,000.
  • Long Wait Times: Users experienced delays because if one user's video was in process, others had to wait. This issue was particularly severe when 250+ students submitted videos simultaneously, causing the last user to wait a long time for the result.
This motivated me to find a solution that would save costs while enhancing user satisfaction.

The Solution: Parallel Processing with AWS Lambda

To tackle these challenges, I leveraged parallel processing with the following tech stack:
  • Frontend: React
  • Backend: Node.js
  • Database: MongoDB
  • Cloud Service: AWS EC2 Instance
  • Server Triggering: AWS Lambda
Here's how I did it:
  • Parallel Processing: I used AWS Lambda to trigger the creation of a new server for each user, which stops automatically once the process is completed. This dynamic approach allowed me to process multiple videos simultaneously without keeping the server ON continuously.
  • Efficient Video Analysis: I implemented video chunking, breaking down the entire video into smaller parts, enabling faster processing and reducing wait times from 25 minutes to just 15 minutes.
  • AI and ML Integration: The video analysis server used advanced libraries like YOLO, MediaPipe, and others for object detection, posture analysis, text detection, video-to-audio conversion, and audio-to-text conversion. Developing this bot server was complex and time-consuming, but the results were worth the effort.

The Impact: Cost Efficiency and User Satisfaction

The results were remarkable:
  • Cost Savings: The server cost was reduced from ₹65,000 to just ₹20,000-₹25,000 per month. This significant cost optimization made a substantial financial impact on the company.
  • Faster Processing: The processing time dropped from 25 minutes to just 15 minutes, enhancing user experience and satisfaction.
  • Scalable Solution: The parallel processing approach allowed the system to handle a large number of simultaneous users smoothly, ensuring no one had to wait long for their results.

A Personal Achievement Worth Celebrating

Reflecting on this journey, I feel immense pride and happiness. Working on AI models and achieving substantial cost savings for the company motivated me throughout the process. This accomplishment reassured me that I am in the right place and capable of achieving even greater things in life.
This experience taught me a valuable lesson: Just start. Don't overthink. Dive into the project, get your hands dirty, and learn along the way. That's how innovations are born.

Final Thoughts: Paving the Way for Innovation

This achievement is a testament to the power of innovation and perseverance. I am proud of the impact it made, not only on server costs and user satisfaction but also on my personal growth and confidence. As I continue to explore new horizons, I am excited about the possibilities that lie ahead.

Posted on: 21-02-2025