What it does
Our team is developing a centralized platform designed to simplify event discovery for students and faculty at the University of Toronto. The platform aggregates events from various U of T department websites and other listings, offering both passive and active search capabilities.
Passive Search: Utilizing AWS Personalize, the system delivers personalized event recommendations based on user preferences and past interactions. This approach ensures students and faculty receive suggestions aligned with their academic and extracurricular interests without needing to actively search.
Active Search: Powered by AWS Bedrock and OpenSearch, the platform enables users to actively explore events using advanced natural language processing (NLP) techniques. This feature interprets user queries intelligently, bridging the gap between varying terminologies. For instance, it connects terms like "data science" and "analytics" to deliver relevant results.
Additionally, the platform integrates with personal calendars to recommend events based on availability, streamlining the user experience and maximizing engagement.
This innovative approach enhances event discovery, promotes a connected campus community, and optimizes resource utilization by reducing manual event promotion efforts.
How we built it
We built the platform using a combination of cloud services, programming languages, and frameworks. The backend was developed using Node.js with the AWS SDK to interact with various AWS services like Personalize, Bedrock, and OpenSearch. We integrated AWS S3 for storage and data management. The frontend leverages React for creating an interactive user interface. To manage dependencies and streamline the development process, we used npm for package management. AWS CLI and environment variables were configured to ensure secure and seamless authentication. Throughout the development process, we relied on Docker for containerization and version control with GitHub to maintain collaboration and track progress. This stack allowed us to create a robust, scalable platform that aggregates, filters, and recommends U of T events effectively.
Challenges we ran into
Since it was everyone in the group's first time learning and using AWS, we encountered several challenges along the way. Getting familiar with AWS Personalize, Bedrock, and OpenSearch required significant effort as we navigated their documentation and features to understand how to use them effectively. Integrating multiple AWS services into our platform presented its own difficulties, particularly in ensuring smooth communication between the services. Debugging errors was another major challenge, as diagnosing and resolving issues in configurations, API calls, and service connections required persistence and problem-solving. Additionally, balancing the time needed to learn new technologies with implementing the project within a tight timeline was demanding. Despite these hurdles, we gained valuable experience and successfully completed our project.
Accomplishments that we're proud of
Since this was the group's first time integrating AWS services, we are really proud that everything worked seamlessly. Successfully implementing AWS Personalize, Bedrock, and OpenSearch for our platform was a significant milestone, showcasing our ability to quickly learn and apply new technologies.
What we learned
Throughout this project, we learned a great deal about integrating cloud services and the challenges of working with new technologies. This was our first time using AWS tools like Personalize, Bedrock, and OpenSearch, and we gained a deeper understanding of how these services work and how to implement them effectively. We also improved our problem-solving skills, particularly in debugging configurations and API connections. Additionally, we learned the importance of effective time management when balancing the steep learning curve of new technologies with the demands of project deadlines. Most importantly, we realized the value of teamwork and collaboration in overcoming challenges and achieving our goals.
Log in or sign up for Devpost to join the conversation.