💡 Inspiration

We all live in a pretty busy world. Especially from the point of view of work, the schedules are jam-packed. We have multiple meets and appointments to attend everyday and it's often tough to do justice to all of them. Sometimes, there are conflicting meetings and you're not sure which one to join or how to shift one to another timeframe. This is where Planorama comes into the picture.

❓ What it does

Planorama is an AI driven Nylas powered tool that helps in smart scheduling. Just login with your email account on your platform and voila! You're all set. Whenever you have conflicting meetings or want to look at your agenda visually for seeing conflicts, planorama comes into play.

You can visually see the dates on which the events are conflicting, and for how much time are they conflicting, then in just the click of a button, Planorama will sort out the meetings. It'll sort the conflicting meetings in order of importance using Natural Language Processing and Sentiment Analysis (which would be fine tuned according to the needs of the user when they log-in for the first time), and then it'll discard the least possible amount of meetings, and then the next step is informing the participants about that. On the click of a button, it'll send custom GPT AI generated mails to the people affected by the cancellations and rescheduling (essentially the participants of the meeting or the organizer). This would ensure an effective process and would be fair for both parties.

Moreover, planorama offers some additional features like setting up your working hours and working days, that are then stored in the session. The users can create new appointments that are directly uploaded on the Calendar, and it pre checks if the timeframe is within working days and hours or not, to ensure a better work life balance. This means that you don't potentially need to use Google Calendars or similar apps anymore! Planorama does everything for you <3

🛠️ How we built it

Planorama was built using technologies of javascript. The backend that handles user authentication and fetches data from Nylas APIs is built on Express JS.

The frontend part of the application that is responsible for the views and parsing the data and making API requests to our backend is made using React.js framework. Both the directories are contained in the same repository. Here's a step-by-step involvement of various tech stacks:-

  • Authentication - Nylas authentication methods existing in NodeJs SDK using token Authorization
  • Fetching events - Nylas events API
  • Checking for conflicts and returning them to user - Using greedy algorithm
  • Sorting the conflicting events in order of importance - NLP node module that is custom trained to user preferences
  • Deleting overlapping events - delete method in Nylas events API
  • Generating custom mail texts - GPT API
  • Sending mails to involved parties - Nylas Email API

🚧 Challenges we ran into

Setting up our Nylas project with the provided Node Js SDK was tough for us initially, but then we looked into various sample apps and it gave us a fair idea on how to proceed with that. Moreover, a lot of time and memory heavy operations are involved in the app throughout, so making them efficient was also challenging. We tried to use best practices and efficient algorithms wherever possible.

🚀 Accomplishments that we're proud of

Completing Planorama is a great accomplish in itself. We're very proud that we were able to make something that is very practical and blends agendas and AI in the most efficient way. We're happy that Planorama is something that could be used by anyone to sort out their schedules and the UX is very intuitive as well!

🧠 What we learned

We learned a lot of things throughout the course of this hackathon. These include but are not limited to:-

  • Exploring the possibilities that Nylas APIs providing and configuring them up with our application.
  • Integrating NLP models that could be trained on the Client side at runtime based on preferences.
  • Using sessionstorage as an efficient means of storing primitive data.
  • Working on the whole UX flow and getting it to work.

📃 What's next for Planorama

According to us, the realm is pretty much endless, and we can keep on incorporating new features and custom workflows. But the immediate next features that we would want to be added are:-

  • Currently it doesn't let the users reschedule their meetings, we would definitely want to add that feature and let it happen through AI as well
  • We also want to add custom workflows for different types of potential users of Planorama and also storing the data such as user preferences on the cloud so that it is accessible across all devices.
  • We want our theme to be customisable.
Share this project:

Updates