React/TypeScript web frontend for the Udder AI video montage service. Upload a video, let the AI pick the best clips, and download the finished montage directly in the browser.
- Drag-and-drop video upload (no file size limit)
- Real-time progress tracking as the backend identifies and assembles clips
- In-browser video assembly via ffmpeg.wasm — no server round-trip for the final encode
- Displays each clip's start/end time, transcript, and reason it was selected
- React + TypeScript (Vite)
- ffmpeg.wasm — client-side video assembly
- axios — communicates with the udder-app FastAPI backend
- Deployed to DigitalOcean App Platform
cd frontend
npm install
npm run dev- udder-app — FastAPI backend (OpenAI + Gemini)
- udder-demo — desktop PyQt6 client
- udder_ai — standalone API variant