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
- auth
- firebase
- gemini
- getstreamio
- javascript
- nextjs
- openai
- python
- react
- shadcn
- typescript
Log in or sign up for Devpost to join the conversation.