Wooble
Back to Aaditya's profile
Verified on Wooble

MedFlowAI (AI-Powered Healthcare Appointment & Consultation Management Platform)

Aaditya SattawanMedFlowAI (AI-Powered Healthcare Appointment & Consultation Management Platform)

Overview

🌐 Live Demo: https://medflow-ai-66y7.onrender.com πŸŽ₯ Demo Video: https://drive.google.com/file/d/1wtyDARIsW77EWnWNrtJQ_nOHc_vEn4jj/view?usp=sharing πŸ’» GitHub Repository: https://github.com/Tiku57/MedFlow-AI Data Model Diagram The application uses a relational database designed with Prisma ORM. User β†’ One user can be a Patient or Doctor. Doctor β†’ Has many Appointment Slots and Consultations. Patient β†’ Has many Appointments, Prescriptions, and Health Records. Appointment Slot β†’ Belongs to one Doctor and can be booked by only one Patient. Appointment β†’ Links one Patient, one Doctor, and one Appointment Slot. Consultation β†’ Created after a completed appointment and stores doctor notes. Prescription β†’ Generated from Consultation using Gemini AI and belongs to a Patient. Relationships Doctor (1) ──────< Appointment Slot Doctor (1) ──────< Appointment >────── (1) Patient Appointment (1) ────── (1) Consultation Consultation (1) ────── (1) Prescription Patient (1) ──────< Prescription Patient (1) ──────< Health Profile Thought Process – Handling Concurrent Booking Requests A major challenge was preventing two patients from booking the same appointment slot simultaneously. To solve this, I used atomic database transactions with Prisma ORM and PostgreSQL row-level locking. Instead of checking availability in application memory, the booking operation updates the slot only if it is still available. Since PostgreSQL performs the operation atomically, the first request successfully books the slot while any simultaneous request safely fails and returns an appropriate message. This completely prevents double bookings and ensures consistent scheduling even under concurrent traffic. One Improvement with More Time I would implement real-time updates using WebSockets, allowing patients and doctors to instantly see appointment changes without refreshing the page. I would also add background job queues for AI processing, automated testing, and advanced analytics to improve scalability and production readiness. One Feature Intentionally Left Out I intentionally did not implement video consultations and real-time chat. These features require WebRTC, signaling servers, media streaming, and additional security considerations, which would have significantly increased development complexity. Instead, I prioritized building a reliable appointment management system, AI-powered prescription generation, secure authentication, and conflict-free scheduling to deliver a polished and production-ready MVP. Notes for Reviewers The project is fully responsive across desktop, tablet, and mobile devices. AI-powered prescription generation is implemented using Google Gemini AI. API keys are securely managed using environment variables and are not exposed in the repository. The repository contains a detailed README with setup instructions and deployment steps. The live demo is hosted on Render. Since it uses the free tier, the first request may take 30–60 seconds while the server wakes up.

Gallery

4