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.
Log in or sign up for Devpost to join the conversation.