## Inspiration

* Wikipedia has versions of *some* pages that are "simplified", e.g., <https://simple.wikipedia.org/wiki/Association_football>
* However, not every page has this; and, it's fun to be able to **delve** deeper after getting the initial simplified version
* Inspired by explorer.globe.engineer and telescopictext.org, we tried to enable a spelunking-like feature for the summarized article

## What it does

* On a Wikipedia page, gives the user the ability to (1) 'translate' the content into Simple English, even if that translation didn't exist and (2) click into key words or phrases identified by the LLM, for exploring rabbitholes

## How we built it

* The client is an extension written in TypeScript (Plasmo)
* The server is written in Python (Flask)

## Challenges we ran into

* Working correctly with assistants; prompt engineering

## Accomplishments that we're proud of

* Managing to get typed output with keyed words
* Being able to expand on those words in-text

## What we learned

* Plasmo is great for building extensions
* gpt4-o is powerful! Assistants are cool!

## What's next for Simple English

* Use the existing simple translation, if it exists
* Render more Wikipedia-like summaries (e.g., preserve links, tables, images)
## Inspiration

Frustrated with the overwhelming amount of notes required in AP classes, we decided to make life easier for ourselves. With the development of machine learning and neural networks, automatic text summary generation has become increasingly accurate; our mission is to provide easy and simple access to the service.

## What it does

The web app takes in a picture/screenshot of text and auto-generates a summary and highlights important sentences, making skimming a dense article simple. In addition, keywords and their definitions are provided along with some other information (sentiment, classification, and Flesch-Kincaid readability). Finally, a few miscellaneous community tools (random student-related articles and a link to Stack Exchange) are also available.

## How we built it

The natural language processing was split into two different parts: abstractive and extractive.

The abstractive section was carried out using a neural network from [this paper](https://arxiv.org/abs/1704.04368) by Abigail See, Peter J. Liu, and Christopher D. Manning ([Github](https://github.com/abisee/pointer-generator)). Stanford's CoreNLP, was used to chunk and preprocess text for analysis.

Extractive text summarize was done using Google Cloud Language, and the python modules gensim, word2vec and nltk.

We also used Google Cloud Vision API to extract text from an image. To find random student-related articles, we webscraped using BeautifulSoup4.

The front end was built using HTML, CSS, and Bootstrap.

## Challenges we ran into

We found it difficult to parse/chunk our plain-text into the correct format for the neural net to take in.
In addition, we found it extremely difficult to set up and host our flask app on App Engine/Firestore in the given time; we were unable to successfully upload our model due to our large files and the lack of time. To solve this problem, we decided to keep our project local and use cookies for data retention. Because of this we were able to redirect our efforts towards other features.

## Accomplishments that we're proud of

We're extremely proud of having a working product at the end of a hackathon, especially a project we are so passionate about. We have so many ideas that we haven't implemented in this short amount of time, and we plan to improve and develop our project further afterwards.

## What we learned

We learned how to work with flask, tensorflow models, various forms of natural language processing, and REST (specifically Google Cloud) APIs.

## What's next for NoteWorthy

Although our product is "finished," we have a lot planned for NoteWorthy. Our main goal is to make NoteWorthy a product not only for the individual but for the community (possibly as a tool in the classroom). We want to enable multi-user availability of summarized documents to encourage discussion and group learning. Additionally, we want to personalize NoteWorthy according to the user's actions. This includes utilizing the subjects of summarized articles and their respective reading levels to provide relevant news articles as well as forum recommendations.
## 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.