- backend - fasapi, websocket, endpoint
- data models
- scenario generator
- opponent agent
- coach agent
- post-mortem agent
- video storage + users
- library + dashboard
- frontend
- frontend + backend connection
user speaks -> capture audio -> send audio chunks via WebSocket -> stt model -> transcrbed text -> agent pipeline - > agent generates a response -> tts model -> audio bytes -> websocket -> frontend -> play audio