EasyAppoint

Inspiration

Booking appointments can be time-consuming, inefficient, and sometimes frustrating for both clients and service providers. The time between booking an appointment and meeting with the healthcare professional can take more than half a year, according to this article. We wanted to create a platform that streamlines the entire process—something intuitive, quick, and easy to use, especially for the imposing and burdened healthcare system in Québec.

What it does

EasyAppoint is a web-based appointment scheduling system that seemlessly connect doctors to patients:

  • Book appointments with doctors in all specialty in medicine based on real-time availability.
  • Instantly chat with industry professionals and with tailored LLMs on medical data.
  • Provide accurate sentiment analysis based on transcription of appointment for potential doctor mishaps.
  • For users, manage schedules, set availability, and monitor upcoming appointments through a simple dashboard.

How we built it

We built EasyAppoint using:

  • Frontend: Tailwind CSS, ShadCn with React and NextJS for responsive UI.
  • Backend: React and Nextjs, user authentication, and appointment logic.
  • Database: No SQL Firebase database for appointment times, user information, chat logs, and provider schedules.
  • APIs: GetStream.io for video streaming, audio transcription, video recording; OpenAI for a custom-LLM for sentiment analysis and Google Gemini 1.5-Flash for immediate chat response.
  • Version Control: Git and GitHub for collaboration and deployment.

Challenges we ran into

  • Designing a clean and intuitive interface that works for both clients and providers.
  • Implementing reliable time zone support across users.
  • Managing concurrent appointment bookings and preventing double-booking.
  • Debugging GetStream.io's authentication and coincide with Firebase Auth.

Accomplishments that we're proud of

  • Built a fully functional prototype with both client and doctor views.
  • Implemented real-time updates for availability, chat, video calling.
  • Smooth user experience with responsive design and efficient routing.
  • First time working with scheduling algorithms and time zone conversions in-depth.

What we learned

  • How to build a full-stack application from scratch.
  • How to work as a team under tight deadlines with effective Git branching strategies.
  • The importance of user feedback when refining a UX/UI.
  • The troubles of running concurrent programs and async scripts to sync all users in real time, regardless of their status - online or not.

What's next for EasyAppoint

  • Adding Google Calendar integration for better syncing.
  • Expanding user roles (e.g., admin, assistant).
  • Offering analytics for providers (e.g., peak hours, no-shows).
  • Releasing it to the rest of the province.

Built With

Share this project:

Updates