How sakshilanghi/nerveless works
NERVELESS turns uploaded preparation documents into personalized spoken interview, viva, or presentation simulations, then presents a communication analysis of the recorded responses. The main flow runs from setup in the React app through document extraction and question generation, into the voice-driven simulation, and finally to the Pressure Response Map dashboard. The README documents baseline, pressure, and recovery metrics; those stages are represented in the analysis view. Some routes and services were not sampled, so their documented roles are included where paths are supported, while uncertain wiring is omitted.
Main entry points: SimulationRoom.jsx Simulation room · api.js HTTP API client · App.jsx Session setup · documents.py Document upload route
Components 18
Setup and preparation
- Session setup
frontend/src/App.jsx - HTTP API client
frontend/src/services/api.js
Preparation services
- Document upload route
backend/app/routes/documents.py - Document extraction
backend/app/services/document_parser.py - Question route
backend/app/routes/questions.py - Question generation
backend/app/services/question_generator.py
Voice simulation
- Simulation room
frontend/src/components/SimulationRoom.jsx - Voice route
backend/app/routes/voice.py - Rime TTS proxy
backend/app/services/rime_service.py - Microphone VAD
frontend/src/services/voice/voiceCapture.js - Speech recognition
frontend/src/services/voice/speechToText.js - TTS client
frontend/src/services/voice/rimeTts.js - Audio playback
frontend/src/services/voice/audioPlayer.js
Communication analysis
- Pressure Response Map
frontend/src/components/AnalyzerDashboard.jsx
Other components
- Candidate
- Google Gemini
- Rime TTS
- Browser audio APIs
Connections 31
- Candidate → Session setup: provides material
- Session setup → HTTP API client: uploads document
- HTTP API client → Document upload route: sends file
- Document upload route → Document extraction: extracts text
- Document extraction → Document upload route: returns text
- Document upload route → HTTP API client: returns extracted text
- HTTP API client → Session setup: returns text
- Session setup → HTTP API client: requests questions
- HTTP API client → Question route: sends context
- Question route → Question generation: generates questions
- Question generation → Google Gemini: requests generation
- Question route → HTTP API client: returns questions
- HTTP API client → Session setup: returns questions
- Session setup → Simulation room: starts simulation
- Simulation room → TTS client: requests spoken question
- TTS client → Voice route: requests speech
- Voice route → Rime TTS proxy: generates audio
- Rime TTS proxy → Rime TTS: synthesizes speech
- Rime TTS proxy → Voice route: returns audio
- Voice route → TTS client: returns audio
- Simulation room → Audio playback: plays question audio
- Simulation room → Microphone VAD: starts VAD
- Simulation room → Speech recognition: captures transcript
- Microphone VAD → Browser audio APIs: reads microphone
- Speech recognition → Browser audio APIs: recognizes speech
- Microphone VAD → Simulation room: signals speech activity
- Speech recognition → Simulation room: returns transcript
- Simulation room → Audio playback: stops audio on interruption
- Simulation room → Pressure Response Map: passes answer metrics
- Candidate → Simulation room: answers verbally
- Pressure Response Map → Candidate: shows analysis