## Inspiration

Last year when I arrived at MIT, I was a fish out of water. I was lost in the whirlpool of deadlines, club events, and registration. I struggled to complete problem sets on time and didn't even consider making connections and friends. Thankfully, I quickly met my next dorm neighbor, Hassan. This experienced third-year student knew everything about the courses I was taking and where to go to explore MIT. Without Hassan, I would have failed 8.01 because of my lack of knowledge about Professor Mohammad's office hours and review sessions. Without Hassan, I would have missed out on so many internship opportunities because of my lack of knowledge of applications and their deadlines. I was extremely grateful for Hassan, but I constantly thought about all the students just like me who did not have this resource. Enter ChatMIT: a chatbot trained on insider secrets and up-to-date data about MIT. Know struggling students can always have a resource they could rely on.

## What it does

ChatMIT is a chatbot that prospective and current MIT students alike can use to answer their questions and curiosities about this immensely wonderful, yet confusing institute! Ask it about good study spots. Ask it where to find certain buildings. Ask it for student testimonials about UROPs. The possibilities are endless.

## How we built it

ChatMIT is a large language model built off of ChatGPT3.5-Turbo. It is trained on data from MIT's blog posts, registration websites, club websites, academic resources, and more. The front-end interface is made using React.

## Challenges we ran into

There were two main problems that our group ran into: first, training the GPT model; second, collecting immense troves of data. Training a GPT model proved to be a tall task in a 24-hour timeframe. However, our group managed to do so after hours of experimentation and trial-and-error. Collecting the data to train the model also was extremely time-consuming: MIT's public data is commonly regarded as "confusing" and "hard to navigate." Our team spent hours sifting through this data across the web, finally creating the finished database.

## Accomplishments that we're proud of

We are proud of our unique, utilitarian idea that was actually implemented in a 24-hour timeframe. We had plenty of doubters, but also plenty of supporters - all of whom motivated us to persevere. Furthermore, we are super happy with the UI, as it has the color scheme of MIT, with Tim the Beaver offering the advice!

## What we learned

Creating chatbots is hard, yet rewarding work. We also learned a lot about React properties, such as state and loading screens.

## What's next for ChatMIT

More data, adding schedules, etc.
## Inspiration

We noticed a lot of stress among students around midterm season and wanted to utilize our programming skills to support them both mentally and academically. Our implementation was profoundly inspired by Jerry Xu's Simply Python Chatbot repository, which was built on a different framework called Keras. Through this project, we hoped to build a platform where students can freely reach out and find help whenever needed.

## What it does

Students can communicate their feelings, seek academic advice, or say anything else that is on their mind to the eTA. The eTA will respond with words of encouragement, point to helpful resources relevant to the student's coursework, or even make light conversation.

## How we built it

Our team used python as the main programming language including various frameworks, such as PyTorch for machine learning and Tkinter for the GUI. The machine learning model was trained by a manually produced dataset by considering possible user inputs and creating appropriate responses to given inputs.

## Challenges we ran into

It was difficult to fine tune the number of epochs of the machine learning algorithm in a way that it yielded the best final results. Using many of the necessary frameworks and packages generally posed a challenge as well.

## Accomplishments that we're proud of

We were impressed by the relative efficacy and stability of the final product, taking into account the fast-paced and time-sensitive nature of the event. We are also proud of the strong bonds that we have formed among team members through our collaborative efforts.

## What we learned

We discovered the versatility of machine learning algorithms but also their limitations in terms of accuracy and consistency under unexpected or ambiguous circumstances. We believe, however, that this drawback can be addressed with the usage of a more complex model, allotment of more resources, and a larger supply of training data.

## What's next for eTA

We would like to accommodate a wider variety of topics in the program by expanding the scope of the dataset--potentially through the collection of more diverse user inputs from a wider sample population at Berkeley.
## Inspiration

Since the beginning of the hackathon, all of us were interested in building something related to helping the community. Initially we began with the idea of a trash bot, but quickly realized the scope of the project would make it unrealistic. We eventually decided to work on a project that would help ease the burden on both the teachers and students through technologies that not only make learning new things easier and more approachable, but also giving teachers more opportunities to interact and learn about their students.

## What it does

We built a Google Action that gives Google Assistant the ability to help the user learn a new language by quizzing the user on words of several languages, including Spanish and Mandarin. In addition to the Google Action, we also built a very PRETTY user interface that allows a user to add new words to the teacher's dictionary.

## How we built it

The Google Action was built using the Google DialogFlow Console. We designed a number of intents for the Action and implemented robust server code in Node.js and a Firebase database to control the behavior of Google Assistant. The PRETTY user interface to insert new words into the dictionary was built using React.js along with the same Firebase database.

## Challenges we ran into

We initially wanted to implement this project by using both Android Things and a Google Home. The Google Home would control verbal interaction and the Android Things screen would display visual information, helping with the user's experience. However, we had difficulty with both components, and we eventually decided to focus more on improving the user's experience through the Google Assistant itself rather than through external hardware. We also wanted to interface with Android things display to show words on screen, to strengthen the ability to read and write. An interface is easy to code, but a PRETTY interface is not.

## Accomplishments that we're proud of

None of the members of our group were at all familiar with any natural language parsing, interactive project. Yet, despite all the early and late bumps in the road, we were still able to create a robust, interactive, and useful piece of software. We all second guessed our ability to accomplish this project several times through this process, but we persevered and built something we're all proud of. And did we mention again that our interface is PRETTY and approachable?

Yes, we are THAT proud of our interface.

## What we learned

None of the members of our group were familiar with any aspects of this project. As a result, we all learned a substantial amount about natural language processing, serverless code, non-relational databases, JavaScript, Android Studio, and much more. This experience gave us exposure to a number of technologies we would've never seen otherwise, and we are all more capable because of it.

## What's next for Language Teacher

We have a number of ideas for improving and extending Language Teacher. We would like to make the conversational aspect of Language Teacher more natural. We would also like to have the capability to adjust the Action's behavior based on the student's level. Additionally, we would like to implement a visual interface that we were unable to implement with Android Things. Most importantly, an analyst of students performance and responses to better help teachers learn about the level of their students and how best to help them.