How si-mong/podium works
Podium is an AI presentation-coaching service: users manage projects, upload or record practice sessions, receive voice and motion analysis, review feedback by semantic segment, and compare practice rounds. The graph focuses on the documented production API and analysis workflow. Sampled source confirms session orchestration, file handling, and persistence; some pipeline internals and frontend behavior are not shown, so uncertain implementation links are omitted.
Main entry points: sessions.py Session API · main.py FastAPI app · database.py Relational database · step2_video_analysis.py Motion and VLM
Components 19
Client
- Web app
frontend/src/app/page.tsx
API and sessions
- FastAPI app
backend/app/main.py - Account access
backend/app/api/auth.py - Project API
backend/app/api/projects.py - Session API
backend/app/api/sessions.py - API schemas
backend/app/schemas/session.py
Presentation analysis
- Media preprocessing
backend/app/pipeline/step1_preprocess.py - Voice and STT
backend/app/pipeline/step3_voice_analysis.py - Voice analysis tools
backend/app/pipeline/voice/analyze.py - Motion and VLM
backend/app/pipeline/step2_video_analysis.py - Smart chunking
backend/app/pipeline/step2_chunking.py - Semantic segments
backend/app/pipeline/step4_segmentation.py - Segment metrics
backend/app/pipeline/step4_aggregate.py
Persistence
- Session files
backend/app/services/storage.py - Relational database
backend/app/core/database.py - Domain records
backend/app/models/session.py
Other components
- Presenter
- Speech recognition
- Vision model
Connections 21
- Presenter → Web app: uses
- Web app → FastAPI app: requests API
- FastAPI app → Account access: dispatches
- FastAPI app → Project API: dispatches
- FastAPI app → Session API: dispatches
- Session API → API schemas: formats responses
- Session API → Session files: stores media
- Session API → Media preprocessing: runs preprocessing
- Media preprocessing → Session files: reads and writes
- Session API → Motion and VLM: runs motion analysis
- Motion and VLM → Smart chunking: plans chunks
- Motion and VLM → Vision model: analyzes video
- Session API → Voice and STT: runs voice analysis
- Voice and STT → Voice analysis tools: uses analysis
- Voice analysis tools → Speech recognition: transcribes speech
- Session API → Semantic segments: runs segmentation
- Session API → Segment metrics: aggregates segment metrics
- Session API → Relational database: reads and writes
- Account access → Relational database: reads and writes
- Project API → Relational database: reads and writes
- Relational database → Domain records: persists