## Inspiration

Coming into this project, it was clear none of us had any experience with client-side web development, so we knew right away that our focus would be on learning how to develop a user-friendly and aesthetically pleasing project. When we began brainstorming for some of the categories—specifically the Huawei Custom Challenge: Best Pandemic Life-Related Hack—we right away gravitated towards our shared longing to travel and escape the dull monotony of Zoom life. This got us thinking on a service that we could provide to people to connect with destinations in desperate need of tourism to revive their pandemic-battered economy—a win-win situation with a focus on sustainable tourism practices. From there the ideas concretized, and the project outlined below sprang forth.

## What it does

The website presents a user with a short mission statement on the home page, guiding them to interact with a map further down. From there, depending on a person's choice of continents, they are guided to a separate page where they can read about some highlighted tourism destinations and how the pandemic has aversely affected their local economies. Finally, each of the blurbs ends with a link to book flights to the destination country, and encourages the users to learn more about sustainable tourism in the pandemic era.

## How we built it

We aimed to build the website principally with React.js, but ended up incorporating significant amounts of vanilla CSS/HTML in parallel to the React components. Looking back upon it this was definitely not the most efficient option to choose, however the code ends up working quite nicely regardless. We used specific React libraries at different points as well: react-simple-maps for building out the interactive map, react-router to connect the map to the different webpages, and react-tooltip to allow the user to have a more immersive experience with the map.

## Challenges we ran into

Initially, our greatest challenge was figuring Github. As almost completely beginners in independent coding projects, we had to watch tutorials and struggle through understanding branches, merging, and SSH key credential issues. After this was out of the way, we quickly became stumped on the question of connecting the interactive map to the webpages as we envisioned it, since this depended on React being able to identify which continent was clicked on when the action occurred. This took a bit of time to figure out—with tutorials not helping out much—since it involved parsing through and components' deconstruction of geojson objects to build the continents and obtaining unique "keys" for each continent. Even when this was accomplished, we faced further issues when trying to format basic styling using CSS on the homepage, which caused us to mix in parallel vanilla classes with React components.

## Accomplishments that we're proud of

We're definitely proudest of figuring out the simultaneous question of map interaction and react routing, as this was one of the few issues in the project that was an all-hands-on-deck effort; half the team had been working on routing while the other had been figuring out the map, so we were faced to communicate precisely what we were doing to the other team so that we could figure out how to link the two initiatives. From a broader point of view, we're also incredibly proud of sticking with this entire initiative—from initial brainstorming to the writing of these very words—without any guidance from an authority figure. It has expanded our perspective immeasurably in terms of programming as a whole, and now we have each taken the step of being able to view programming challenges in terms of creativity, independence, and personal initiative, rather than college assignments or interview questions. This unquantifiable side of the entire experience will likely have the greatest long-run impact on our programming journey, and we can't wait to move on to the next big thing.

## What we learned

We learned, first and foremost, how to collaborate as a team. None of us had ever used Github before, as mentioned previously, and we were forced to think through problems as a team and communicate progress and setbacks to our team members as they arose. Some of us, perfectionists by nature, learned to step back from micromanaging and allow more seamless and balanced cooperation among the team members; the others, who might lack motivation without the involvement of friends on such a daunting project, learned to actively involve themselves in their areas of expertise and interest. It truly was a multi-dimensional learning experience, and each of us will think back upon this learning experience for a long time to come.

## What's next for Adventures Abroad

Next steps for this website will definitely involve looking over the React hooks and components, and learning how to leverage state more effectively to eliminate the need for bulky static markup and styling. Our more immediate concern is that there was one major shortcoming in our project—we were never able to get around to learning how to host our platform on Domain.com, and instead were forced to stay on localhost for the duration of the project's development. All of these will be areas of future discussion for us both for this project and for other independent initiatives.
## Inspiration 🚀

Every student knows that feeling of utter panic when you're in your 8AM lecture, severely sleep deprived and blanking out...what did the prof just say? I guess we'll never know. Based on our *highly researched* data, we concluded quickly that students nowadays are some of the most easily distracted students to have existed in student kind (in fact, most students didn't even finish our survey). At Hack the North, inspired by some of the universal problems that students face, we wanted to develop a tool to revolutionize the way we learn and take notes.

Enter *KeyNote*, the personalized notes device leveraged by AI– made for students, by students.

## What it does ⚙️

KeyNote is a powerful note-taking device paired with a web-app that leverages AI to expand the lesson beyond the lecture. Think, the best friend that'll always share their notes and answer the questions that you have from class. All users must do is record the lecture through our device, controlling it through the "Start/Stop" buttons. Then, KeyNote will process the transcript, and provide a summary of key concepts taken from the lecture, as well as the option to ask lecture-specific questions through our chat feature-- all previous transcripts being available through our curated calendar!

KeyNote allows students to not only review and ask about their lecture, but they can make their own annotations and edits on top of the key concepts, just as they would on paper. There are additional features allowing users to add, delete and modify the notes, giving students the power over their own learning.

## How we built it 🛠️

KeyNote, our innovative web app, was constructed using TypeScript and Next.js for the front-end, while Python with FastAPI powered the backend. This blend ensured a reliable and scalable platform. Hardware integration was achieved through Python, facilitating seamless connections with our devices. Google Cloud Services played a pivotal role, enabling the retrieval and transmission of recordings. Assembly AI was leveraged for transcription tasks, and Cohere handled extensive data processing. This synergy of technologies has made KeyNote a game-changing solution for our users.

## Challenges we ran into 🔥

While developing KeyNote, we ran into several challenges over the weekend. Given our idea, we were incredibly excited to integrate Cohere’s different services within our platform. In context of Cohere, most of the features we used were experimental services, which sometimes did not have the support to maintain the context in terms of larger sets of data. In turn, we had to do batch-wise processing in order to ensure that we had full data coverage.

Another challenge was integrating the front-end and backend. All of our components were programmed with extensibility in mind, meaning we created a dynamic interface that constantly interacts with the backend in order to pass in data- figuring out how to program our calendar feature was a challenge given the fact that we were not familiar with our tech stack. On a similar note, we had to learn how routing worked in Next.Js- a specific challenge being learning dynamic routing to create unique endpoints for each Note.

## Accomplishments that we're proud of 💖

We’re incredibly proud that we were able to build a functioning device and platform that we most certainly find useful and relevant to our day-to-day life. Specifically, it was incredibly exciting exploring brand-new cutting-edge technologies that helped us make this idea a reality- what initially seemed like a wildly ambitious idea was made possible through meticulous planning, designing and learning on the go! Over this past weekend, we learnt how to create a software-hardware project, exploring how to integrate the front-end, backend, databases and hardware with each other was no-easy feat! We are incredibly excited to show you what we have in store.

## What we learned 🌍

In reflecting over the past 36 hours, we may all agree that we’re taking away both technical learnings, but also best practices when working in a collaborative environment under time constraints! We found ourselves using Githubs multifaceted services and assigning ongoing tasks to each other in order to stay on track. In addition, working with many of Cohere’s services was both incredibly exciting, but also challenging. In hindsight, we really benefited from the variety of workshops and mentorship available throughout the event. As a team, arguably our biggest takeaway was the impact that modern technology has and will have on society– many of the world's solutions can be solved with the right technology, and a little bit of sleep deprivation!

## What's next for Keynotes 💫

Looking ahead, some of the immediate additions we would like to make to KeyNotes would be adding an additional feature to allow users to jump to specific parts of the transcript based on their notes and questions. We would also love to explore some of Cohere’s other features such as Rerank, in order to make KeyNote a more personalized and efficient platform.
## Inspiration

One of our teammate’s grandfathers suffers from diabetic retinopathy, which causes severe vision loss.
Looking on a broader scale, over 2.2 billion people suffer from near or distant vision impairment worldwide. After examining the issue closer, it can be confirmed that the issue disproportionately affects people over the age of 50 years old. We wanted to create a solution that would help them navigate the complex world independently.

## What it does

### Object Identification:

Utilizes advanced computer vision to identify and describe objects in the user's surroundings, providing real-time audio feedback.

### Facial Recognition:

It employs machine learning for facial recognition, enabling users to recognize and remember familiar faces, and fostering a deeper connection with their environment.

### Interactive Question Answering:

Acts as an on-demand information resource, allowing users to ask questions and receive accurate answers, covering a wide range of topics.

### Voice Commands:

Features a user-friendly voice command system accessible to all, facilitating seamless interaction with the AI assistant: Sierra.

## How we built it

* Python
* OpenCV
* GCP & Firebase
* Google Maps API, Google Pyttsx3, Google’s VERTEX AI Toolkit (removed later due to inefficiency)

## Challenges we ran into

* Slow response times with Google Products, resulting in some replacements of services (e.g. Pyttsx3 was replaced by a faster, offline nlp model from Vosk)
* Due to the hardware capabilities of our low-end laptops, there is some amount of lag and slowness in the software with average response times of 7-8 seconds.
* Due to strict security measures and product design, we faced a lack of flexibility in working with the Maps API. After working together with each other and viewing some tutorials, we learned how to integrate Google Maps into the dashboard

## Accomplishments that we're proud of

We are proud that by the end of the hacking period, we had a working prototype and software. Both of these factors were able to integrate properly. The AI assistant, Sierra, can accurately recognize faces as well as detect settings in the real world. Although there were challenges along the way, the immense effort we put in paid off.

## What we learned

* How to work with a variety of Google Cloud-based tools and how to overcome potential challenges they pose to beginner users.
* How to connect a smartphone to a laptop with a remote connection to create more opportunities for practical designs and demonstrations.
How to connect a smartphone to a laptop with a remote connection to create more opportunities for practical designs and demonstrations.
How to create docker containers to deploy google cloud-based flask applications to host our dashboard.
How to develop Firebase Cloud Functions to implement cron jobs. We tried to developed a cron job that would send alerts to the user.

## What's next for Saight

### Optimizing the Response Time

Currently, the hardware limitations of our computers create a large delay in the assistant's response times. By improving the efficiency of the models used, we can improve the user experience in fast-paced environments.

### Testing Various Materials for the Mount

The physical prototype of the mount was mainly a proof-of-concept for the idea. In the future, we can conduct research and testing on various materials to find out which ones are most preferred by users. Factors such as density, cost and durability will all play a role in this decision.