How byreddyrohanreddy/park works
VoiceCare AI lets a user register or sign in, record or upload voice audio, and receive a Parkinson’s screening result; authenticated users can review recordings and request explanations or clinical reports. The documented inference workflow normalizes audio, extracts SSL and acoustic features, fuses them for calibrated and conformal prediction, and supports explainability. The graph also includes account and recording persistence, dashboard/history, and report generation. The README documents several ML stages not fully visible in the sampled excerpts, so their internal wiring follows that documentation; unsampled frontend service details are not expanded.
Main entry points: server.js Express server · recordingRoutes.js Recording routes · recordingController.js Recording controller · reportRoutes.js Report routes
Components 22
Client experience
- Web application
frontend/src/App.jsx - API client
frontend/src/services/api.js
Node API
- Express server
backend/server.js - Auth routes
backend/routes/authRoutes.js - Account controller
backend/controllers/authController.js - Auth middleware
backend/middleware/authMiddleware.js - Recording routes
backend/routes/recordingRoutes.js - Recording controller
backend/controllers/recordingController.js - Report routes
backend/routes/reportRoutes.js
Voice screening
- Inference API
backend/ml/app.py - Audio normalization
backend/ml/app.py - Feature extraction
backend/ml/feature_extraction.py - PD-VoiceNet
backend/ml/pd_voicenet/model.py - Risk calibration
backend/ml/pd_voicenet/calibration.py
Clinical insights
- Explainability suite
backend/ml/pd_voicenet/explainability - Report generation
backend/ml/report_generator - Knowledge retrieval
backend/ml/report_generator/retriever.py - LLM provider
backend/ml/report_generator/llm_provider.py
Application data
- User records
backend/models/User.js - Recording records
backend/models/Recording.js
Other components
- User
- MongoDB
Connections 23
- User → Web application: uses
- Web application → API client: requests
- API client → Express server: calls API
- Express server → Auth routes: mounts
- Express server → Recording routes: mounts
- Express server → Report routes: mounts
- Auth routes → Account controller: dispatches
- Account controller → User records: reads and writes
- Recording routes → Auth middleware: authorizes
- Report routes → Auth middleware: authorizes
- Recording routes → Recording controller: dispatches
- Recording controller → Inference API: forwards audio
- Inference API → Audio normalization: normalizes
- Audio normalization → Feature extraction: supplies audio
- Feature extraction → PD-VoiceNet: supplies features
- PD-VoiceNet → Risk calibration: provides scores
- Inference API → Explainability suite: serves explanations
- Report routes → Report generation: proxies report request
- Report generation → Knowledge retrieval: retrieves context
- Report generation → LLM provider: requests generation
- Recording controller → Recording records: creates and queries
- Recording records → MongoDB: persists
- User records → MongoDB: persists