Next.jsfastapipostgresqlReactTailwind CSSdockercicdwebsocketrabbitmqopenaiwhisperchatgpt

SaaS Web Software Development for Norway Doctors and Patients

By Max Taylor
Published on
Duration
2 Months
Role
Full-Stack Developer (Frontend & Backend)
Atmosphere
Innovative & Collaborative
Technology
FastAPI, React, Next.js, PostgreSQL, RabbitMQ, Docker, OpenAI Whisper, ChatGPT
Real-Time Conversation Dashboard

Project Overview

I developed a SaaS web software specifically designed for doctors and patients in Norway. The application listens to doctor-patient conversations in real-time, encrypts voice chunks using AES encryption, and sends them to the backend via WebSocket. Using Voice Activity Detection (VAD) models, the system identifies and separates the doctor's and patient's voices, converting them into text. The transcribed conversations are stored in a PostgreSQL database and displayed live to both parties.

The platform also leverages OpenAI Whisper for accurate voice-to-text conversion and ChatGPT to generate concise summaries of the conversations. These summaries help doctors and patients review key points discussed during their consultations.


Key Features

  1. Real-Time Voice-to-Text Transcription:

    • Utilizes OpenAI Whisper for high-accuracy transcription.
    • Separates doctor and patient voices using VAD models.
  2. Live Conversation Tracking:

    • Displays transcribed conversations in real-time on the frontend.
    • Stores conversations securely in a PostgreSQL database.
  3. AI-Powered Summarization:

    • Generates summaries of consultations using ChatGPT.
    • Helps doctors and patients quickly review key discussion points.
  4. Secure Communication:

    • Voice chunks are encrypted using AES encryption before being sent via WebSocket.
    • Ensures patient confidentiality and data security.
  5. Microservices Architecture:

    • Backend built with Python FastAPI and RabbitMQ for message queuing.
    • Uses MongoDB for additional data storage needs.
  6. Cloud Integration:

    • Stores voice recordings and transcripts in AWS S3.
    • Scalable and cost-effective cloud storage solution.
  7. Modern Frontend:

    • Built with React, Next.js, TailwindCSS, and DaisyUI.
    • State management handled by Redux.
  8. CI/CD Pipeline:

    • Implemented GitHub Actions for automated testing and deployment.
    • Ensures smooth and efficient development workflows.
  9. Self-Managed Infrastructure:

    • Managed servers and deployment environments independently.
    • Utilized Docker for containerization and deployment.

Technology Stack

Backend:

  • Python FastAPI: For building robust and scalable APIs.
  • PostgreSQL: Primary database for storing conversations and metadata.
  • RabbitMQ: Message broker for handling asynchronous tasks.
  • MongoDB: Secondary database for unstructured data storage.
  • Docker: Containerization for seamless deployment.
  • AWS S3: Cloud storage for voice recordings and transcripts.

Frontend:

  • React: For building interactive user interfaces.
  • Next.js: Server-side rendering and routing.
  • TailwindCSS: Utility-first CSS framework for styling.
  • Redux: State management for complex frontend logic.
  • DaisyUI: Component library for building responsive UIs.

AI/ML:

  • OpenAI Whisper: For voice-to-text transcription.
  • ChatGPT: For generating conversation summaries.

DevOps:

  • GitHub Actions: CI/CD pipeline for automated testing and deployment.
  • Docker: Containerization for consistent environments.
  • Self-Managed Servers: Handled server setup, scaling, and maintenance.

Challenges and Solutions

  1. Real-Time Voice Processing:

    • Challenge: Handling real-time voice chunks and ensuring low latency.
    • Solution: Implemented WebSocket for real-time communication and VAD models for efficient voice separation.
  2. Data Security:

    • Challenge: Ensuring patient data confidentiality and compliance with healthcare regulations.
    • Solution: Used AES encryption for voice chunks and stored data in secure, compliant databases.
  3. Scalability:

    • Challenge: Building a system that can scale with increasing users and data.
    • Solution: Adopted a microservices architecture with RabbitMQ for task distribution and AWS S3 for scalable storage.
  4. AI Integration:

    • Challenge: Integrating multiple AI models (Whisper and ChatGPT) seamlessly.
    • Solution: Built modular APIs to handle AI model interactions and ensure smooth data flow.

Outcome

The SaaS platform has revolutionized doctor-patient interactions in Norway by providing a seamless, secure, and AI-powered solution for real-time conversation tracking and summarization. Doctors and patients can now focus on their consultations while the platform handles transcription, storage, and summarization effortlessly.

Stay Tuned

Want to become a Next.js pro?
The best articles, links and news related to web development delivered once a week to your inbox.