Inspiration

Healthcare systems are often overloaded, and booking a simple medical appointment can involve long wait times or confusing interfaces. We wanted to make this process as easy as having a conversation. Our inspiration came from seeing how AI voice technology can simplify access to care — especially for students at McGill who often need fast, reliable, and user-friendly ways to schedule appointments.

What it does

McGill AI Medical Assistant is a smart scheduling agent that: Listens to phone calls or voice messages from patients (via ElevenLabs). Extracts key details such as name, McGill ID, date, time, and reason for visit. Checks appointment availability in real time through n8n and Google Calendar. Automatically books the appointment if available, or proposes alternate time slots. Displays upcoming appointments in a clean Flask web interface for users. In short — it turns spoken requests into confirmed medical appointments.

How we built it

Flask (Python) → backend server and web app for users SQLite (CS50 SQL) → lightweight database for users and appointments n8n → workflow automation for parsing, time handling, and Google Calendar integration ElevenLabs API → conversational AI that handles real-time voice interaction HTML/CSS → modern McGill-themed UI for login, registration, and appointment dashboard We connected all components through secure webhooks and handled encryption with Fernet keys for privacy.

Challenges we ran into

Getting n8n, ElevenLabs, and Flask to communicate in real time without timeouts Handling date/time formatting across APIs (ISO strings, UTC offsets, etc.) Debugging SQLite data corruption when multiple sessions accessed the DB Ensuring secure communication between the AI agent and our backend

Accomplishments that we're proud of

Built a working end-to-end AI scheduling system with real data flow from voice → webhook → database Designed a clean and intuitive web dashboard that displays user appointments Successfully integrated multiple technologies (Flask, n8n, ElevenLabs, SQLite, CS50 SQL) Demonstrated how conversational AI can be both practical and impactful in healthcare

What we learned

How to combine AI voice interfaces with automation platforms like n8n The importance of consistent time zones and ISO standards for calendar systems How to securely handle user data and webhooks in Flask using environment variables Real-world challenges of API synchronization and data validation That simplicity and clarity in design can often be more valuable than complex models

What's next for McGill AI Medical Assistant

Deploying the app publicly Expanding to include email or SMS appointment confirmations Integrating patient history and reminder notifications Allowing multi-doctor calendars and prioritization logic Improving speech understanding with fine-tuned AI models for healthcare dialogue

Ultimately, we aim to turn this into a fully functional campus-wide health scheduling system, making McGill healthcare more efficient, accessible, and human.

Built With

Share this project:

Updates