🩺 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 .env in 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


📄 License

This project is licensed under the MIT License.


Share this project:

Updates