# Inspiration

Our inspiration for PennDrive came from the need to make meetings more accessible and productive. We often found ourselves missing important meetings due to conflicting schedules or other commitments, and catching up on what was discussed was a daunting task. We wanted to leverage the power of AI and technology to bridge this gap, making it possible for anyone to quickly grasp the essence of a meeting, even if they couldn't attend in person.

# What It Does

PennDrive is a revolutionary tool that simplifies meeting management and information retrieval. Here's what it does:

1. **Automated Transcription:** When a user inserts a USB Club USB Drive and drops a video file into it, PennDrive automatically transcribes the meeting video's content.
2. **Error Correction:** It then cleans up transcription errors to ensure the accuracy of the transcribed text.
3. **Content Analysis:** PennDrive analyzes the transcribed content to identify key points and agenda items discussed during the meeting.
4. **Meeting Summary:** Using the power of AI, PennDrive generates a concise summary of the meeting, highlighting the most crucial information and key takeaways.
5. **Additional Resources:** PennDrive doesn't stop at summaries; it also provides users with relevant resources to further explore and understand the meeting topics.
6. **User Notification:** Twilio's Sendgrid integration ensures that users receive timely notifications when their meeting summary is ready.

# How We Built It

Building PennDrive was a multidisciplinary effort that involved various technologies and steps:

1. **USB Club Integration:** We integrated USB Club's USB Drive to create a user-friendly experience. Users plug in the drive and drop their video files into it to trigger the automated process.
2. **AI-Powered Transcription:** We utilized GPT-4 and OpenAI's Whisper for accurate transcription and language processing. This step also involved error correction to improve transcript quality.
3. **Content Analysis:** PennDrive identifies key points and agenda items through AI-driven content analysis, ensuring that users can quickly grasp the most important information.
4. **Summary Generation:** AI is used to generate concise meeting summaries, enabling users to catch up on what they missed efficiently.
5. **Additional Resources:** The application provides users with relevant resources to deepen their understanding of the meeting topics, enhancing the overall experience.
6. **User Notification:** Integration with Twilio's Sendgrid ensures that users are promptly notified when their meeting summary is ready for review.
7. **Distribution:** We employed PyInstaller to package the application into an executable for easy distribution and use on various computers.

# Challenges We Ran Into

The development of PennDrive presented several challenges:

1. **API Integration Complexity:** Integrating multiple APIs, including those from USB Club, Metaphor, and Twilio's Sendgrid, required meticulous attention to detail and robust error handling to ensure a seamless user experience.
2. **Data Privacy Concerns:** Handling sensitive meeting content raised significant data privacy and security concerns. We implemented rigorous measures to protect user data and maintain confidentiality.
3. **Accuracy and Error Handling:** Achieving high accuracy in transcription and error correction was an ongoing challenge. We conducted extensive model fine-tuning to minimize errors and enhance reliability.
4. **User Interface Design:** Designing an intuitive user interface that accommodates users with varying technical backgrounds proved to be a complex task. We conducted user testing and gathered feedback to refine the design continually.

# Accomplishments That We're Proud Of

We are immensely proud of several accomplishments:

* **Seamless Integration:** Successfully integrating multiple third-party APIs and technologies into a cohesive and user-friendly tool.
* **High Accuracy:** Achieving a high level of accuracy in transcription and content analysis, ensuring that our meeting summaries are reliable and informative.
* **User-Centric Design:** Crafting an intuitive user interface that caters to a diverse user base and conducting user testing to optimize the user experience.
* **Data Privacy Measures:** Implementing robust data privacy and security measures to safeguard user data and maintain trust.

# What We Learned

Our journey with PennDrive was a profound learning experience:

* **AI Potential:** Realizing the incredible potential of AI, especially GPT-4 and OpenAI's Whisper, in transcribing and analyzing audio content accurately.
* **API Integration Skills:** Gaining expertise in integrating third-party APIs to enhance application functionality and user experience.
* **Video Processing Expertise:** Acquiring in-depth knowledge of video processing using Python and MoviePy to extract valuable insights from meeting recordings.
* **User-Centered Design:** Understanding the importance of designing applications with the end user in mind and the value of user testing in refining design choices.

# What's Next for PennDrive

The journey doesn't end here. We have ambitious plans for PennDrive's future:

* **Continuous Improvement:** We will continue to enhance the accuracy and capabilities of PennDrive by exploring advancements in AI and transcription technologies.
* **Integration Expansion:** We aim to integrate with more collaboration and communication platforms to offer seamless meeting management across various channels.
* **Enhanced User Experience:** Our focus will be on refining the user interface and incorporating user feedback to make PennDrive even more user-friendly.
* **Global Reach:** We aspire to make PennDrive accessible to users worldwide, breaking down language barriers and facilitating efficient meetings across cultures.

PennDrive is not a tool, it is a framework that we use often in our day-to-day lives, in our keychains, in backpacks, pockets, and pencil cases, so you are always ready.
## Inspiration

Due to COVID-19, millions of students across the world have been forced to quickly adapt to video lectures and online education. To ease this transition and make studying more efficient, we wanted to help students by summarizing their lecture transcripts while also capturing the full lecture transcript so students can pay full attention to the lecture instead of being distracted with taking notes.

## What it does

A website that summarizes video lectures for efficient studying. Users can upload their video lectures to receive a full text transcript and timestamps of the most important sentences. The video timestamps have not been formatted to "minutes : seconds" yet.

## How We built it

We made made a microservice out of a pre-trained BERT model to summarize text, and an Express web server that works with Vue for the UI to make a web app. The web app accepts video uploads, sends the video to Azure's Speech-to-Text API to get a full transcript, sends the transcript to the microservice to get a summary with timestamps, and sends the summary and timestamps to Vue for display and video playback.

## Challenges we ran into

Managing cloud platform credentials in a team of 4 was difficult. Coordinating ourselves to avoid duplicating work. Managing packages and dependencies. Scope creep. Timestamps need to formatted to "minutes : seconds".

## Accomplishments that we're proud of

Most technically sophisticated hackathon project so far, as the project has many moving parts like Azure Media Services (for video playback), Azure Cognitive Services (for the Speech-to-Text API), and BERT (for text summarization).
Fun name ;)

## What we learned

CORS, JavaScript Promises, Microservice Architecture

## What's next for AweSummarizer

Adding video lecture subtitles automatically generated with Azure Media Services. Adding clickable timestamps to play the video at that timestamp for more convenient navigation.
## Inspiration

When I was in Grade 12 and planned to apply for universities, I was pretty confused at the beginning. I may have access to the information of many programs and universities through their official websites and webinars; however, it is still difficult to find the answers to many questions. How about students’ daily life in particular universities/programs? What extracurricular activities did students participate in before applying for university? What kind of contests are valuable to help me stand out among thousands of applicants? Personally, I believe these questions can only be answered by experienced senior university students.

I hope that there is a platform that can connect senior university representative students and highschool students, sharing more detailed and valuable information to more highschool students and supporting them on their way to apply for universities.

## What it does

University Wing is essentially a web blog app that shares university students’ application experiences, which can support more highschool students, guide them on the right track and develop their skills as early as possible. All of the comments and posts would be sent to the content management system for review before being released, protecting students from any inappropriate content. There are many information categories, which include interview preparation, application process, extracurricular resources and much more. I believe highschool students can definitely gain valuable and helpful information here for their university applications.

## How I built it

The front-end part of this full-stack web app is developed using React.js and Next.js, and the design is completed by Tailwind CSS. Meanwhile, I implemented the back-end using GraphQL to fetch and post data through GraphCMS, which is a content management system that can administrate all the contents of my web app, allowing me to create models and generate API request.

## Challenges I ran into

* This is the first time I incorporate a content management system to my project. Although I was unfamiliar with it at the beginning, I eventually learnt how to create models and play around API with it.
* I encountered many difficulties when posting requests using GraphQL, including the authentication setting, improper data formatting when submitting and much more. Fortunately, after spending some time on debugging and research, all bugs were fixed.

## Accomplishments that I've proud of

* Successfully connected the web application with a content management system, ensuring the content exposed to students are all appropriate.
* Managed to create a information platform that can deal with the real-world problem.

## What we learned

* Use GraphCMS to restore data and user information, ensuring content are always safe and appropriate.
* Develop bank-end using GraphQL with predefined schema and API directly generated by GraphCMS.
* Generate pages with dynamic routes using getStaticPaths and fetch data at the build time using getStaticProps.

## What's next for University Wing

Currently, this web app only allows the authorized users, i.e. university representatives to access the content management system, meaning that they have to collect information from many students of different backgrounds. Obviously, writing these posts may impose great workload on these university representatives; therefore, I may develop the login and sign up features, and allow users to post in the University Wing themselves. As a result, we only need to review posts rather than edit them ourselves, which not only reduces our stress, but also brings more valuable content to the platform.