## Inspiration

Terms and Conditions are the most ignored files that are being "overlook" by users. We wanted to resolve that issue by giving brief summary to user via using latest technology.

## What it does

Overlook is a cross-platform web app that takes the URL and analysis the privacy policies and code of conduct and gives you the result to just look by. Basically, user just have to give the link and system will give wonderful infographic summary by using which user can understand problems with conditions.

## How we built it

The entire frontend is built on Flutter, chrome extension is built on JS and for machine learning APIs We have used python, flask, and Django.

## Challenges we ran into

Surprisingly, it is complicated to get the files and download them locally. I got a CORS error while solving that.

## Accomplishments that we're proud of

We are able to build a working prototype that can help users in understanding the privacy policy. Additionally, some small yet important things like chrome extension where user doesn't even have to open site.

## What we learned

There is a ton of ugly things written in privacy policy jargon that a normal person cannot understand

## What's next for Overlook

To make it public soon to get the response of users in beta version.
#### Inspiration

Did you know that [Microsoft’s service agreement](https://www.microsoft.com/en-ca/servicesagreement/) is over 17,000 words long, meaning it takes *over an hour to read*? We all know that it's impractical to read the terms of service for every single product you use. But are you unknowingly accepting terms that take away your privacy to a much greater extent than you ever realized?

#### What it does

In Simple Terms™ (pun intended), our Chrome extension summarizes terms and conditions, privacy policies, and service agreements, presenting only the most concerning details in an easily digestible format.

It also provides a rating displayed as a banner to show a quick indicator as to the severity of the terms, and a metric to show how much time you save from not reading the whole document!

#### How we made it

We used OpenAI’s gpt-3.5 API to generate the summaries, and used TypeScript, React, and Tailwind CSS for the Chrome extension itself.

#### Challenges we ran into

One significant challenge was the length of some of these documents. As mentioned earlier, Microsoft’s service agreement is over 17,000 words long which means we can’t pass the whole thing into the OpenAI API at once.

We solved this by splitting long documents into multiple segments and making an API call for each segment. However, doing that could take over 30 seconds to generate a summary! We employed several techniques to reduce the time it takes as much as possible, including making requests in parallel, prompt optimization, and preloading. Now even the longest documents are summarized in seconds!

#### What we learned

* You "sign away moral rights" by using Reddit, Spotify, Snapchat, and many other services.
* YouTube can view your browser history.
* PayPal still tracks you even if you opt out from tracking.
* Content you post to Apple Services may be edited by the service for any reason.
* ... [And many more](https://tosdr.org/).

We were shocked by just how intrusive some of the privacy policies are for services we use every day. That being said, we are thrilled to have created a tool that works so well and is able to help uncover conditions buried in policies people rarely take the time to read!

On the technical side, we learned a ton about the OpenAI API, as it was the first time anyone on our team used it. We collectively spent many hours optimizing the prompts used, and we put a lot of effort into figuring out how to get good results in within just a few seconds!

#### What's next

In the future, we hope to get the extension approved so that it can be released on the Chrome Web Store!

We also want to add a small feature where the extension icon changes to provide useful information. For example, the icon would be greyed out when you are not on a valid page, and it would change to reflect results after finishing preloading (a green check mark, an orange exclamation point, or a red X mark depending on the rating).

#### Conclusion

Thanks for checking out our project! We had a ton of fun at Hack the North and are proud to have created this cool little Chrome extension!
## Inspiration

All of us have gone through the painstaking and difficult process of onboarding as interns and making sense of huge repositories with many layers of folders and files. We hoped to shorten this or remove it completely through the use of Code Flow.

## What it does

Code Flow exists to speed up onboarding and make code easy to understand for non-technical people such as Project Managers and Business Analysts. Once the user has uploaded the repo, it has 2 main features. First, it can visualize the entire repo by showing how different folders and files are connected and providing a brief summary of each file and folder. It can also visualize a file by showing how the different functions are connected for a more technical user. The second feature is a specialized chatbot that allows you to ask questions about the entire project as a whole or even specific files. For example, "Which file do I need to change to implement this new feature?"

## How we built it

We used React to build the front end. Any folders uploaded by the user through the UI are stored using MongoDB. The backend is built using Python-Flask. If the user chooses a visualization, we first summarize what every file and folder does and display that in a graph data structure using the library pyvis. We analyze whether files are connected in the graph based on an algorithm that checks features such as the functions imported, etc. For the file-level visualization, we analyze the file's code using an AST and figure out which functions are interacting with each other. Finally for the chatbot, when the user asks a question we first use Cohere's embeddings to check the similarity of the question with the description we generated for the files. After narrowing down the correct file, we use its code to answer the question using Cohere generate.

## Challenges we ran into

We struggled a lot with narrowing down which file to use to answer the user's questions. We initially thought to simply use Cohere generate to reply with the correct file but knew that it isn't specialized for that purpose. We decided to use embeddings and then had to figure out how to use those numbers to actually get a valid result. We also struggled with getting all of our tech stacks to work as we used React, MongoDB and Flask. Making the API calls seamless proved to be very difficult.

## Accomplishments that we're proud of

This was our first time using Cohere's embeddings feature and accurately analyzing the result to match the best file. We are also proud of being able to combine various different stacks and have a working application.

## What we learned

We learned a lot about NLP, how embeddings work, and what they can be used for. In addition, we learned how to problem solve and step out of our comfort zones to test new technologies.

## What's next for Code Flow

We plan on adding annotations for key sections of the code, possibly using a new UI so that the user can quickly understand important parts without wasting time.