🩺 WhisperRx
WhisperRx is an AI-powered medical voice scribing and patient management web application designed for doctors and patients. It simplifies the process of documenting patient visits through voice recordings, AI transcription, and automatic generation of structured SOAP medical reports.
Features
Voice-to-Text Transcription
Doctors can record conversations with patients, which are then transcribed using Cloudflare Whisper.AI Diagnosis Summarization
Transcripts are passed through Perplexity to generate structured SOAP (Subjective, Objective, Assessment, Plan) medical summaries.Appointment Booking
Patients can book appointments with doctors using a calendar and time picker interface.Visit History
Both doctors and patients can view past visits, along with transcripts and AI-generated medical notes.Role-Based Dashboards
- Doctors can manage upcoming appointments, record visits, and browse through patient lists.
- Patients can view appointments, book new ones, and check their medical history.
Secure File Uploads
All voice recordings and profile images are securely handled and stored.Responsive UI
Designed to work across both desktop and mobile devices with a clean, intuitive interface.
🛠️ Tech Stack
- Backend: Flask (Python), SQLAlchemy ORM
- Frontend: React JS, Tailwind CSS, Vite
- Database: SQLite (can be swapped with PostgreSQL/MySQL)
- AI Services: Cloudflare Whisper (for transcription) & Perplexity (for medical note generation)
- Security: Password hashing with Werkzeug, Session-based login system
📦 Installation
git clone https://github.com/AashikSharif/WhisperRx-Web.git
cd WhisperRx-Web
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
🔐 Environment Variables
Create a .env file in your root directory and add the following:
SECRET_KEY=your_flask_secret_key
CLOUDFLARE_ACCOUNT_ID=your_cloudflare_account_id
CLOUDFLARE_API_TOKEN=Bearer your_cloudflare_api_token
[email protected]
MAIL_PASSWORD=your_email_password
Make sure to keep
.envin your.gitignore. Make sure to have 'instance/database.db' if the database doesn't exists.
🧪 Run the App
flask run
or
python app.py
App will be available at http://localhost:80
To Access Frontend:
cd frontend
npm run dev
The Web-App should be accessible at 'http://localhost:5173/'
👥 Contributors
Sheheryar Pirzada
LinkedInShlok Tomar
LinkedInAashik Sharif Basheer Ahamed
LinkedInArnav Jain
LinkedIn
📄 License
This project is licensed under the MIT License.
Log in or sign up for Devpost to join the conversation.