A full-stack serverless application for automated technical video analysis using AWS (Lambda, S3, DynamoDB, API Gateway) and OpenAI (GPT-4o).
- Upload: Drag & drop video uploads directly to S3 via presigned URLs.
- Analysis: Automated extraction of keyframes and analysis of optical properties (lighting, focus, composition).
- Context-Aware: Uses chat history to guide the AI's analysis.
- Serverless: Zero server management. Scales automatically.
- Infrastructure as Code: Fully provisioned via Terraform.
- Frontend: Next.js (App Router, Tailwind CSS, Shadcn UI).
- API: Next.js API Routes + AWS API Gateway (S3 Proxy).
- Storage:
video-analyzer-videos-*(Raw uploads)video-analyzer-results-*(JSON Analysis)- DynamoDB
InterviewAnalysis(Status tracking)
- Compute:
- Worker Lambda: Python (OpenCV + OpenAI SDK). Triggered by S3 upload.
- Node.js 18+
- Python 3.9+
- AWS CLI configured
- Terraform installed
- Clone the repo:
git clone https://github.com/Ris345/Serverless-Video-Analyzer.git cd Serverless-Video-Analyzer - Install dependencies:
npm install pip install -r requirements.txt
npm run devOpen http://localhost:3000.
cd terraform
terraform init
terraform apply./deploy_worker.sh- Secrets: Managed via
.env(not committed). - IAM: Least-privilege roles for Lambda and API Gateway.
- Access: Presigned URLs for secure S3 uploads.