## Inspiration

We wanted to create a tool which could be used to sum up the gist of the media's perception of a pair of topics as well as comparing them, as to gain perspective on potential forecasts (winning elections, stock performance), while also summing up how society views ideas in general. The media has such a great influence on general society's perception, so we though tracking the media's own perception as invaluable.

## How we built it

Node.JS backend to power the NewsApi used to obtain articles as well as connect to Indico's Sentiment Analysis API.
Front end was powered by Material.JS and Chart.JS to enable striking insightful data visualization.

## Challenges we ran into

Formatting Node.JS and properly displaying the data received from NewsApi caused many headaches. We had to process news and date information in a format which could be graphed easily on the front-end, which required time-consuming data manipulation.

## Accomplishments that we're proud of

* Creating a minimalistic and clean web-app to easily view the popular media's view on a pair of topics.
* Collaborating and dealing with merge conflicts and technical problems
## What we learned
* How to link multiple APIs and communicate data from a back-end to a front-end efficiently.
* Collaborate on a shared GitHub repo
## What's next for PolyTrack
Creating a consumer version which anyone can access online.
## Inspiration

We realized how difficult it is to be politically informed on both ends of the spectrum, so we wanted to increase the ease of accessibility of that for other people.

## What it does

Given a user input on any topic, Politeracy scrapes three news websites -- CNN, Associated Press, and Forbes -- and, using Cohere's API, summarizes the most relevant articles pertaining to the topic, giving a clear idea on how the left, center, and right view the issue.

## How we built it

* Problem: People are often too busy, or have too short of attention spans to pay attention to the news, and are quick to accept bias.
* Solution: Highlight bias, summarize news, and allow people to form opinions off such summaries.
* Design: We decided to make a website and split up responsibilities, with Cyrus in charge of making the website and finetuning Cohere, and Alyssa aggregating news sources and building a web scraper.

## Challenges we ran into

**Alyssa**: This was my first time building a project outside of my courses, so my setup was not prepared in the slightest. I ran into trouble even installing packages and eventually had to reinstall Python itself! Aside from that, this was my first time working with anything pertaining to the backend -- APIs and web scraping, while sounding cool, were completely new to me! I kept having to go through trial and error with web scraping, scraping myself from a myriad of websites only to finally stumble upon a way I could understand.

**Cyrus**: I didn't have experience with NLP, so I wasn't sure how to tune the hyperparameters or how it works. That took some time to learn through both tutorials and trail and error. I also ran into a lot of problems with getting the backend to integrate well with the frontend, as I have very little experience with the requests library.

## Accomplishments that we're proud of

**Alyssa**: As this is one of the first apps I've made, I'm especially proud of the way it turned out! Going through the design process of building an app from scratch, and learning all the tools necessary to bring it together was definitely a rewarding experience.

**Cyrus**: I'm very proud that I've made my first forays into NLP, a field I've always been interested in but was too intimidated to start. It was immensely satisfying to learn about it, try it out, and use it to make a product that's more than just the sum of its parts.

## What we learned

**Alyssa**: I definitely learned a lot about working with APIs and web scraping. I also learned a lot about how to integrate all the different parts of an app together!

**Cyrus**: Learned how to tune NLP models, and more experience on developing a good frontend interface and how to request data from our backend.

## What's next for Politeracy

We hope to expand to more news sources, offer more complex stances, and use CoHere's classification endpoints to classify left-right bias in news sources so that users can understand the different political standpoints better. We'd also expand the UI, and allow users to include/exclude specific news sources, choose how many articles they'd like to see, and adjust the length of the summaries.
## Inspiration

We wanted to make the interactions with our computers more intuitive while giving people with special needs more options to navigate in the digital world. With the digital landscape around us evolving, we got inspired by scenes in movies featuring Tony Stark, where he interacts with computers within his high-tech office. Instead of using a mouse and computer, he uses hand gestures and his voice to control his work environment.

## What it does

Instead of a mouse, Input/Output Artificial Intelligence, or I/OAI, uses a user's webcam to move their cursor to where their face OR hand is pointing towards through machine learning.

Additionally, I/OAI allows users to map their preferred hand movements for commands such as "click", "minimize", "open applications", "navigate websites", and more!

I/OAI also allows users to input data using their voice, so they don't need to use a keyboard and mouse. This increases accessbility for those who don't readily have access to these peripherals.

## How we built it

Face tracker -> Dlib

Hand tracker -> Mediapipe

Voice Recognition -> Google Cloud

Graphical User Interface -> tkinter

Mouse and Keyboard Simulation -> pyautogui

## Challenges we ran into

Running this many programs at the same time slows it down considerably, we therefore need to selectively choose which ones we wanted to keep during the implementation. We solved this by using multithreading and carefully investigating efficiency.

We also had a hard time mapping the face because of the angles of rotation of the head, increasing the complexity of the matching algorithm.

## Accomplishments we're proud of

We were able to implement everything we set out to do in a short amount of time, as there was a lot of integrations with multiple frameworks and our own algorithms.

## What we learned

How to use multithreading for multiple trackers, using openCV for easy camera frames, tkinter GUI building and pyautogui for automation.

## What's next for I/OAI

We need to figure a way to incorporate features more efficiently or get a supercomputer like Tony Stark!

By improving on the features, people will have more accessbility at their computers by simply downloading a program instead of buying expensive products like an eyetracker.