How legiahuy/csc13010-thinksage-ai works
ThinkSage AI turns scientific topics into editable educational videos, then stores, renders, manages, and optionally publishes them. The documented workflow collects scientific sources, summarizes and scripts content, generates scene imagery and speech/captions, and renders synchronized video; the interface also supports manual editing, previews, recording, analytics, and YouTube publishing. The sampled source confirms crawler dispatch, image-preview event dispatch, Inngest processing, Convex updates, and Remotion composition. Several UI and API implementations were not sampled, so their documented connections are cited to the README or left unverified.
Main entry points: create-new-video/page.jsx Video editor · function.js Media job functions · videoData.js Video records · dashboard/page.jsx Video dashboard
Components 23
Content creation
- Video editor
frontend/app/(main)/create-new-video/page.jsx - Research endpoint
frontend/app/api/crawl-and-summarize/route.jsx - Crawler service
crawler/server.py - Science crawler
crawler/main.py - Script endpoint
frontend/app/api/generate-script/route.jsx - AI models
frontend/configs/AiModel.jsx
Media production
- Image preview API
frontend/app/api/preview-images/route.jsx - Job event client
frontend/inngest/client.js - Media job functions
frontend/inngest/function.js - Inngest
- Video composition
frontend/app/_components/RemotionComposition.jsx - Remotion entry
frontend/remotion/Root.jsx
Application platform
- Video records
frontend/convex/videoData.js - User records
frontend/convex/users.js - Data schema
frontend/convex/schema.js - Video dashboard
frontend/app/(main)/dashboard/page.jsx - Video management
frontend/app/(main)/manage-videos/page.jsx - Video playback
frontend/app/(main)/play-video/[videoId]/page.jsx
Publishing and insights
- YouTube OAuth
frontend/app/api/auth/google/route.js - YouTube publishing
frontend/app/api/youtube-upload/route.js - YouTube analytics
frontend/app/api/youtube-stats/route.js - YouTube
Other components
- Creator
Connections 23
- Creator → Video editor: edits content
README.md - Video editor → Research endpoint: requests research
- Research endpoint → Crawler service: requests crawl
- Crawler service → Science crawler: calls crawl_topic
crawler/server.py - Video editor → Script endpoint: requests script
- Script endpoint → AI models: generates script
README.md - Video editor → Image preview API: requests previews
frontend/app/api/preview-images/route.jsx - Image preview API → Job event client: sends event
frontend/app/api/preview-images/route.jsx - Job event client → Inngest: dispatches jobs
frontend/inngest/client.js - Inngest → Media job functions: runs functions
- Media job functions → AI models: generates prompts
frontend/inngest/function.js - Media job functions → Video records: updates records
frontend/inngest/function.js - Media job functions → Remotion entry: renders video
frontend/inngest/function.js - Remotion entry → Video composition: composes scenes
frontend/remotion/Root.jsx - Video editor → Video records: saves video
README.md - Video dashboard → Video records: tracks status
README.md - Video management → Video records: manages videos
README.md - Video playback → Video composition: previews video
README.md - Creator → YouTube OAuth: authorizes account
README.md - Creator → YouTube publishing: publishes video
README.md - YouTube publishing → YouTube: uploads video
README.md - YouTube analytics → YouTube: fetches statistics
README.md - Video dashboard → YouTube analytics: shows analytics
README.md