## Inspiration

Kingston's website is the place to go when having questions about having life in Kingston or when searching for events going on in the city, but navigating through the hundreds of the city's webpages for an answer can be gruesome. We were all interested in AI and wanted to challenge ourselves to build a chatbot website.

## What it does

Kingsley is a chatbot built to help residents in Kingston with their inquiries. It takes in user input, and responds with a helpful answer along with a link to where more information can be found on the city of Kingston website if applicable. It has an option for voice input and output for greater accessibility.

## How we built it

* Kingsley uses a GPT-3 model fine-tuned on data from the city of Kingston website.
* The data was scraped using Beautiful Soup.
* A GloVe model was used to find website links relevant to the user's question.
* Jaccard similarity was used to find relevant text that specifically mentioned key words in the user's question.
* Relevant texts were narrowed down and passed as part of the prompt to GPT-3 for an answer completion.
* The website along with the voice functionality were created using React.

## Challenges we ran into

The CityOfKingston website has a huge amount of pages, a lot of which are archived, calendars, or not very useful. OpenAI's API on the other hand only allowed a limited context. so to have the bot be able to read relevant pages as its context, we had to go through multiple methods of data filtering to find the relevant pages.
We spent a great amount of time implementing speech-to-text and text-to-speech for our webapp. Many of the solutions on the internet were of little help, and we tried using several npm packages before being successful in the end.

## Accomplishments that we're proud of

We successfully made a working chatbot!
And it references real facts! (sometimes)

## What we learned

Throughout the project, we gained experience working with various APIs. We learned how to use and combine different natural language processing techniques to optimize accuracy and computation time. We learned React hooks useState and useEffect, Javascript functions, and how to use React developer tools to debug components in Chrome. We figured out how to link backend Flask with frontend app, setup a domain, and use text-to-speech and speech-to-text libraries.

## What's next for Kingsley

Due to free trial limits, we chose to use the Ada GPT model for our chatbot. In the future if we had more credits, we could use a better version of GPT-3 in order to produce more relevant and helpful results.
We are also interested in expanding Kingsley to reference data from other websites. It can also be adapted as an extension or floating popup that can be used directly on top of Kingston's website.
## Inspiration

1 in 2 Canadians will personally experience a mental health issue by age 40, with minority communities at a greater risk. As the mental health epidemic surges and support at its capacity, we sought to build something to connect trained volunteer companions with people in distress in several ways for convenience.

## What it does

Vulnerable individuals are able to call or text any available trained volunteers during a crisis. If needed, they are also able to schedule an in-person meet-up for additional assistance. A 24/7 chatbot is also available to assist through appropriate conversation. You are able to do this anonymously, anywhere, on any device to increase accessibility and comfort.

## How I built it

Using Figma, we designed the front end and exported the frame into Reacts using Acovode for back end development.

## Challenges I ran into

Setting up the firebase to connect to the front end react app.

## Accomplishments that I'm proud of

Proud of the final look of the app/site with its clean, minimalistic design.

## What I learned

The need for mental health accessibility is essential but unmet still with all the recent efforts. Using Figma, firebase and trying out many open-source platforms to build apps.

## What's next for HearMeOut

We hope to increase chatbot’s support and teach it to diagnose mental disorders using publicly accessible data. We also hope to develop a modeled approach with specific guidelines and rules in a variety of languages.
## Inspiration

Wanted to help small businesses get noticed, as personally we love supporting small and local businesses, but we had a really hard time finding them, as big box retailers would almost always come up first when looking goods/services up.

## What it does

Users can enter in what kind of good/service they are looking for and Local Love will filter out all the large retailers and only show small/local businesses on a map.

## How we built it

We built this using the Google Maps API, to get information on businesses, and then used Python, Django, and REST APIs to filter out large businesses, and only display the smaller ones onto our React frontend

## Challenges we ran into

We ran into many problems with the Google Maps API and using REST, mainly because it was many of our first times using it, so it was quite challenging getting over that initial learning curve. However, once we became more familiar with them, we were able to use them effectively to create out app :)

# Accomplishments that we're proud of

Learning REST was a huge accomplishment for the backend team as before these, we had little to no experience with those frameworks, so being able to learn them to a functioning degree was a huge accomplishment!

## What we learned

We learnt a lot about using Django and REST, and Google API services, as well as UI/UX design using tools such as Figma!

## What's next for Local Love

We hope to continue polishing our application and adding a way to automatically detect what small and large businesses are, potentially through the use of AI/ML, so keep watch for updates!