ChemLab AI — Class 12 Chemistry Visual Lab Assistant

An AI-powered web application that helps Class 12 students understand chemistry lab experiments through auto-generated step-by-step videos. A student types one line describing an experiment and receives a full video walkthrough powered by Amazon Bedrock.

How It Works

Student types experiment name
        ↓
Spring Boot (port 8080) — serves UI, exposes REST API
        ↓
Python FastAPI (port 5000) — runs LangGraph agent
        ↓
Node 1: Amazon Bedrock Nova Pro  → generates procedure steps
Node 2: Amazon Bedrock Nova Reel → generates 6s video per step → ffmpeg concat
Node 3: Amazon S3                → stores final video, returns presigned URL
        ↓
Video plays in the student's browser

LangGraph Agent

The agent runs as a directed graph with three nodes and error short-circuit edges:

START
  └─→ generate_procedure   (Nova Pro — produces step list)
        ├─→ [error] → END
        └─→ generate_clips  (Nova Reel per step + ffmpeg concat)
              ├─→ [error] → END
              └─→ generate_presigned_url  (S3 upload + presigned URL)
                    └─→ END

Tech Stack

Layer Technology
Frontend HTML, CSS, Vanilla JS
Backend Java 21, Spring Boot 3.2
Agent service Python 3.14, FastAPI, LangGraph
Text generation Amazon Bedrock Nova Pro (amazon.nova-pro-v1:0)
Video generation Amazon Bedrock Nova Reel (amazon.nova-reel-v1:0)
Video processing ffmpeg
Storage Amazon S3

Built With

Share this project:

Updates