Inspiration

Scheduling meetings has become one of the major pain points in today’s fast-paced work environment. Lengthy back-and-forth email exchanges, juggling other people’s calendars, and confusing time zones often frustrates you and wastes your time. We want to offer a solution that leverages the newest AI technologies to make this process as seamless and time-efficient as possible. We drew inspiration from our own personal troubles in finding a time that was convenient to meet, especially when working with remote teams or large groups. We saw an opportunity that AI productivity tools were about to scale, and we wanted to create a frictionless scheduling assistant that would eliminate inefficiencies and increase productivity for customers.

What it does

EasyMe is an AI-powered scheduling assistant that simplifies meeting coordination by integrating with Google Calendar. Using natural language processing, it interprets user requests, checks availability, and automatically suggests optimal time slots. EasyMe handles invitations, responses, and reminders on its own, reducing the need for back-and-forth emails. Its user-friendly interface and real-time updates streamline scheduling, making it an efficient tool for teams and individuals alike.

How we built it

We built EasyMe using a combination of front-end and back-end technologies, focusing on seamless integration and user experience. The front-end was developed with React and Next.js before switching to Gradio for user experience, providing a responsive chat-like interface for scheduling input and real-time updates. On the back end, we utilized FastAPI for handling requests, SQL Database for persisting Agent states, and connected to the Google Calendar and Email API for accessing user availability. The AI scheduling engine uses Anthropic’s Claude API through Bedrock for advanced NLP tasks, with OpenAI’s GPT-4o as a fallback. Other advanced AI features include AI Agents with LangGraph, extensive prompt engineering, and output enforcement with Pydantic as a security measure against prompt-injections. We implemented Google OAuth for secure user authentication and hosted the application on AWS EC2 for scalability.

Challenges we ran into

We faced several challenges during the development of EasyMe. Integrating with the Google Calendar API proved complex, particularly when handling permissions that persist through states, cross-platform authentication, and synchronizing across different time zones. Engineering prompts, orchestrating context, and for llm input was another hurdle, as the AI needed to understand various user phrasings. Dealing with LangGraph's control flow, asynchronous scheduler, and data persistence through states was a challenge as well. We also encountered difficulties in ensuring scalability while optimizing server performance for multiple simultaneous requests.

Accomplishments that we're proud of

As a team, we’re proud of building a fully functional MVP for EasyMe within a tight timeframe, achieving seamless integration with the Google Calendar API and delivering a user-friendly interface. We overcame complex technical challenges, such as implementing secure Google OAuth authentication and fine-tuning the AI scheduling engine for accurate time slot suggestions. Additionally, our collaborative efforts allowed us to quickly iterate on user feedback, enhancing the product's performance and usability. The successful deployment on AWS EC2 and the positive reception from initial users are key milestones that showcase our team's resilience and innovation.

What we learned

Through building EasyMe, we gained valuable insights into AI integration and user-centric design. We deepened our understanding of NLP and its application in interpreting scheduling requests, as well as the complexities involved in working with new frameworks like Google Calendar API, AWS EC2, FastAPI, and Axios. We learned how to handle edge cases such as time zone conflicts and user permissions, to ensure a smooth user experience. Last but not least, we've learned how to set goals, divide tasks, execute, test, and work effectively as part of a passionate team of coders to solve problems.

What's next for AI Calendar Assistant

Next, we plan to enhance EasyMe by expanding its integration capabilities beyond Google Calendar to include other platforms through Electron.JS and Chrome Extention, making it accessible to a broader user base. We aim to refine the AI scheduling engine by expanding our LangGraph Agent tools, allowing it to handle even more complex requests, we’ll focus on introducing smarter scheduling features, such as suggesting the best meeting times based on past preferences and habits. We also plan to deploy our React frontend for better user experience and strengthen data security measures to avoid prompt-injections and other NLP-based attacks. As we gather more user feedback, we’ll continue iterating to deliver a seamless and intuitive scheduling experience!

Built With

Share this project:

Updates