## Inspiration

### Many people struggle with research. We wanted to fix that. So we built something to provide a starting point for research on any topic, with the goal of being concise and informative.

## What it does

### It uses uipath to find the definition of almost any topic on Wikipedia to give the user a bit of a general overview of the topic. Afterward, it scrapes the titles of the most relevant news articles to give the user a head-start in their research.

## How we built it

1. As mentioned before we have a uipath component that gets the definition of the topic from Wikipedia as a general overview. For that, we have built an algorithm that goes step by step into this process just like a human would. This gets tied into the python code using the start\_wikifetcher.py file which uses paperclip and other functions from the sentence\_tools.py.
2. sentence\_tools.py has numerous algorithms that are responsible for the computation to scrape the most relevant information. Such as the extract\_first\_sentence() and get\_key\_points\_google(), which extract the first sentence and get the headlines from the first page of google news on the topic respectively
3. For the front end, there is an index.html file that contains the HTML content of the page. It is fairly basic and easy to understand for the reader.
4. The graphics were made using a PowerPoint presentation.

### Note: Please refer to the README file from the git repository for a more thorough explanation of the installation process.

## Challenges we ran into

1. Google's limit for requests before it labels your IP as spam.
2. Working remotely
3. Managing teammates
4. Having unrealistic goals of making an AI that writes essays like humans.

## Accomplishments that we're proud of

### For the accomplishments, I will address how we overcame the challenges in their respective order as that is an accomplishment in itself.

1. We found a way to just get the first page from google search and we settled on only doing the search once other than doing a search for all selective combinations of the topic
2. We used discord calls to connect better
3. We optimized the team by selectively picking teammates.
4. We have made that a goal for the future now.

## What we learned

### This project taught us both technical and nontechnical skills, we had to familiarize ourselves with numerous APIs and new technologies such as UiPath. On the non-technical side of things, the reason this project was a success was because of the equitable amount of work everyone was given. Everyone worked on their part because they truly wanted to.

## What's next for Essay Generator

### Next step is to use all the data found by web scraping to form an essay just like a human would and that requires AI technologies like machine learning and neural networks. This was too hard to figure out in the 36 hrs. period but in the future years, we all will try to come up with a solution for this idea.
## Inspiration

The three of us believe that our worldview comes from what we read. Online news articles serve to be that engine, and for something so crucial as learning about current events, an all-encompassing worldview is not so accessible. Those new to politics and just entering the discourse may perceive an extreme partisan view on a breaking news to be the party's general take; On the flip side, those with entrenched radicalized views miss out on having productive conversations. Information is meant to be shared, perspectives from journals, big, and small, should be heard.

## What it does

WorldView is a Google Chrome extension that activates whenever someone is on a news article. The extension describes the overall sentiment of the article, describes "clusters" of other articles discussing the topic of interest, and provides a summary of each article. A similarity/dissimilarity score is displayed between pairs of articles so readers can read content with a different focus.

## How we built it

Development was broken into three components: scraping, NLP processing + API, and chrome extension development. Scraping involved using Selenium, BS4, DiffBot (API that scrapes text from websites and sanitizes), and Google Cloud Platform's Custom Search API to extract similar documents from the web. NLP processing involved using NLTK, KProtoype clustering algorithm. Chrome extension was built with React, which talked to a Flask API. Flask server is hosted on an AWS EC2 instance.

## Challenges we ran into

Scraping: Getting enough documents that match the original article was a challenge because of the rate limiting of the GCP API. NLP Processing: one challenge here was determining metrics for clustering a batch of documents. Sentiment scores + top keywords were used, but more robust metrics could have been developed for more accurate clusters. Chrome extension: Figuring out the layout of the graph representing clusters was difficult, as the library used required an unusual way of stating coordinates and edge links. Flask API: One challenge in the API construction was figuring out relative imports.

## Accomplishments that we're proud of

Scraping: Recursively discovering similar documents based on repeatedly searching up headline of an original article. NLP Processing: Able to quickly get a similarity matrix for a set of documents.

## What we learned

Learned a lot about data wrangling and shaping for front-end and backend scraping.

## What's next for WorldView

Explore possibility of letting those unable to bypass paywalls of various publishers to still get insights on perspectives.
## City Bins Roamer : An AI multiplayer game for sustainable cities!

# What it does

We're using Martello's geospatial data to make a Pac-Man-like game taking place across the playing board of Montreal's streets.
The goal: if you play as 'garbage': try to escape from the Intelligent System of Bins!!
If you play as 'bins' (audience) : try to collect the garbage!
The idea: Player (garbage) can navigate around the city of Montreal (Microsoft Bing Maps). There is one place at the map that it is the player's goal. Try to reach it before the bins 'eat' you! :open\_mouth: But the garbage also has to avoid the place on the map that is the Audience's goal!
The goal of the Audience is to prevent Player from reaching his goal. By placing bins, they try to push player towards the Audience's goal.

# How we built it + Implementation

With Python, Javascript, json, CSV, Bing Maps and a lot of frustration.
Because bins' signals are sometimes weak and noisy, we are using Martello's database which is useful in decision making (which provider should we trust more locally, and how much should we trust signal and how much our previous knowledge (somehow similar to AI concepts like particle filters etc.)
By Rest API we could retrieve information about the city's map structure which is passed to pygame framework. All algorithms (navigation, AI's game style) are implemented from scratch.

Therefore: Microsoft Bing Maps (+Rest API) + Python pygame + Flask + AI

# Accomplishments that we're proud of

Parsing the Json file, being able to understand and analyze its data, and map it to Bing Maps, first touch with JS, Flask.

Best multiplayer with AI game ever!

City's bins Roamer : multiplayer game with AI for sustainable cities!

Goal: if you play as 'garbage' try to escape from Intelligent System of Bins!!If you play as 'bins' (audience) try to collect garbage!Idea: Player (garbage) can navigate around the city of Montreal (Microsoft Bing Maps). There is one place at the map that it is player's goal. They try to reach it before bins 'eat' you. But also, it has to avoid audience's goal!
Goal of audience is to prevent Player to reach player's goal. By placing bins they try to push player towards audience's goal.

For the future:
Combine everything:

* combine ability to make decision (about the signal) with navigation's algorithms.
* combine Bing Maps with pygame (style, retrieve data from map to have streets' layout etc.)
* combine by Flask data from Martello to Bing Maps so that they can contain information about signals' strentgh.