How bhuma005/reelmob works
ReelsMob is a web studio for analyzing videos, generating Shorts metadata, editing vertical video, and publishing or scheduling content. The main user flow runs from the React dashboard into the FastAPI backend, through video analysis and AI metadata generation, then toward editing and YouTube publishing. Separate branches cover analytics, scheduling, and cloud upload workflows. The excerpts show key calls and imports, but not all page/API wiring or backend routes, so some UI-to-backend links are marked unverified.
Main entry points: App.jsx React app · analysis_service.py Analysis jobs · client.js API client · cloud_ai.py Metadata generation
Components 26
Web studio
- React app
frontend-react/src/App.jsx - Create reel
frontend-react/src/pages/CreateReelPage.jsx - Video library
frontend-react/src/pages/LibraryPage.jsx - Analytics UI
frontend-react/src/pages/AnalyticsPage.jsx - Scheduler UI
frontend-react/src/pages/SchedulerPage.jsx - API client
frontend-react/src/api/client.js
Backend API
- FastAPI server
backend/main.py
Analysis and AI
- Analysis jobs
backend/services/analysis_service.py - Video analysis
backend/video_analyzer.py - Metadata generation
backend/services/cloud_ai.py - LLM client
backend/agents/llm.py - Agent workflow
backend/agents/master_agent.py - Shorts metadata pipeline
backend/ai_pipeline.py
Video and publishing
- Video download
backend/services/video_download.py - Video editing
backend/services/video_editor.py - Canvas formatting
backend/fit_to_canvas.py - Posting engine
backend/posting_engine.py - Schedule service
backend/services/scheduler.py - Cloud upload workflow
cloud/workflow_upload.py
External services
- Cloud auth
cloud/cloud_auth.py - Channel analytics
backend/analytics.py - Resource limits
backend/services/resource_limits.py - Supabase
- YouTube
- Gemini and Groq
Other components
- Studio user
Connections 29
- Studio user → React app: uses
README.md - React app → Create reel: routes to
frontend-react/src/App.jsx - React app → Video library: routes to
frontend-react/src/App.jsx - React app → Analytics UI: routes to
frontend-react/src/App.jsx - React app → Scheduler UI: routes to
frontend-react/src/App.jsx - Create reel → API client: uses API
- Video library → API client: uses API
- Analytics UI → API client: uses API
- Scheduler UI → API client: uses API
- API client → FastAPI server: HTTP requests
- FastAPI server → Analysis jobs: starts analysis
backend/main.py - FastAPI server → Video download: handles downloads
backend/main.py - Analysis jobs → Video analysis: analyzes video
backend/services/analysis_service.py - Analysis jobs → Metadata generation: generates metadata
backend/services/analysis_service.py - Analysis jobs → Schedule service: gets schedule
backend/services/analysis_service.py - Analysis jobs → Agent workflow: invokes agents
backend/services/analysis_service.py - Agent workflow → Video analysis: uses analyzer
backend/agents/master_agent.py - Shorts metadata pipeline → LLM client: calls model
backend/ai_pipeline.py - LLM client → Metadata generation: uses credentials
backend/agents/llm.py - Metadata generation → Gemini and Groq: calls AI APIs
backend/services/cloud_ai.py - Video analysis → Metadata generation: uses vision AI
backend/video_analyzer.py - Video editing → Canvas formatting: formats video
backend/services/video_editor.py - Canvas formatting → Resource limits: gets FFmpeg limits
backend/fit_to_canvas.py - Posting engine → Channel analytics: reads performance
backend/posting_engine.py - Posting engine → Schedule service: selects posting time
- Cloud upload workflow → Cloud auth: loads credentials
cloud/workflow_upload.py - Cloud auth → Supabase: reads OAuth tokens
cloud/cloud_auth.py - Cloud upload workflow → YouTube: uploads video
- Cloud auth → YouTube: refreshes token
cloud/cloud_auth.py