## Inspiration

Presentation inspired by classic chatbots

## What it does

Interfaces with gpt through mindsdb, and engineers the prompt to lead towards leading questions. Saves the query's entered by the user and on a regular interval generates a quiz on topics related to the entries, at the same skill level.

## How we built it

Using reflex for the framework, and mindsdb to interface with gpt

## Challenges we ran into

During the duration of this challenge, we had noticed a significant productivity curve; especially at night. This was due to multiple factors, but the most apparent one is a lack of preparation with us needing to download significant files during the peak hours of the day.

## Accomplishments that we're proud of

We are extremely satisfied with our use of the reflex framework; this season our team comprised of only 2 members with no significant web development history. So we are proud that we had optimized our time management so that we could learn while creating.

## What we learned

Python,git,reflex,css

## What's next for Ai-Educate

We want to get to the point where we can save inputs into a large database so that our program is not as linear, if we were to implement this, older topics would appear less often but would not disappear outright. We also want a better way to determine the similarity between two inputs, we had significant trouble with that due to our reliance of gpt, we believe that the next best solution is to create our own Machine Learning engine, combined with user rating of correctness of assessment.
We were also looking into ripple, as we understand it, we could use it to assign a number of points to our users, and with those points we can limit their access to this resource, and we can also distribute points through our quizzes, this would foster a greater incentive to absorb the content as it would enable users to have more inputs
## 🌟 Inspiration

Every student has their own set of challenges. While feedback on assignments is invaluable, deciphering and acting on it is a different ball game. And, oh! The anticipation of exams! 📚 How can one ace them without a sneak peek into possible questions? Recognizing knowledge gaps is just the beginning. Bridging them with the right resources is the real challenge. Enter **StudyGPT**! 🚀 We dreamt of an AI study chatbot that's the answer to all these student woes.

## 🤖 What It Does

**StudyGPT** isn't just any chatbot; it's your personalized academic mentor! 🧠✨ It dives deep into assignments and exams, offering tailored feedback that aligns with a student's unique learning curve. From crafting mock exams, giving pinpointed advice, to grading assignments, **StudyGPT** does it all!

## 🔧 How We Built It

Our sleek frontend is powered by **Next.js** and **React.js**. For the brain behind the operations, we teamed up with **Langchain** and harnessed the might of the **GPT-4** model. This duo ensured both speed and precision.

## 😅 Challenges We Ran Into

Currently, we're in the `.txt` league, but we had grand visions of decoding PDFs with OCR. Alas, it was a tad ambitious for now. And oh, the saga of the **OpenAI API key**! Fetching a free key felt like a treasure hunt 🕵️‍♂️. We even tried some tech wizardry with multiple accounts and phone verifications. But, in the end, we took the straightforward route and got it for $5.65 USD. Deploying it in a **Next.js** environment? That's a story for another day (Hint: It's all about that `NEXT_PUBLIC_` prefix).

## 🏆 Proud Moments

For AI newbies like us, diving into **LangChain**, **OpenAI**, **LLMs**, and the vast world of AI was a thrilling ride! 🎢 And guess what? We not only delivered but also had a blast at the hackathon (Shoutout to **Scavenger Hunt + Chubby Bunny Champions** 🐰🏆). All this with just a dynamic duo? We're on cloud nine!

## 📚 What We Learned

**LangChain**? Checked off our bucket list! 🦜🔗

## 🚀 What's Next for StudyGPT

Memory enhancement is on the horizon! We're eyeing **LangChain**'s message history feature, akin to **ChatGPT**. And, of course, expanding our file compatibility horizons! Here's to making **StudyGPT** every student's BFF! 📖🤝
## Inspiration

During our brainstorming phase, we cycled through a lot of useful ideas that later turned out to be actual products on the market or completed projects. After four separate instances of this and hours of scouring the web, we finally found our true calling at QHacks: building a solution that determines whether an idea has already been done before.

## What It Does

Our application, called Hack2, is an intelligent search engine that uses Machine Learning to compare the user’s ideas to products that currently exist. It takes in an idea name and description, aggregates data from multiple sources, and displays a list of products with a percent similarity to the idea the user had. For ultimate ease of use, our application has both Android and web versions.

## How We Built It

We started off by creating a list of websites where we could find ideas that people have done. We came up with four sites: Product Hunt, Devpost, GitHub, and Google Play Store. We then worked on developing the Android app side of our solution, starting with mock-ups of our UI using Adobe XD. We then replicated the mock-ups in Android Studio using Kotlin and XML.

Next was the Machine Learning part of our solution. Although there exist many machine learning algorithms that can compute phrase similarity, devising an algorithm to compute document-level similarity proved much more elusive. We ended up combining Microsoft’s Text Analytics API with an algorithm known as Sentence2Vec in order to handle multiple sentences with reasonable accuracy. The weights used by the Sentence2Vec algorithm were learned by repurposing Google's word2vec ANN and applying it to a corpus containing technical terminology (see Challenges section). The final trained model was integrated into a Flask server and uploaded onto an Azure VM instance to serve as a REST endpoint for the rest of our API.

We then set out to build the web scraping functionality of our API, which would query the aforementioned sites, pull relevant information, and pass that information to the pre-trained model. Having already set up a service on Microsoft Azure, we decided to “stick with the flow” and build this architecture using Azure’s serverless compute functions.
After finishing the Android app and backend development, we decided to add a web app to make the service more accessible, made using React.

## Challenges We Ran Into

From a data perspective, one challenge was obtaining an accurate vector representation of words appearing in quasi-technical documents such as Github READMEs and Devpost abstracts. Since these terms do not appear often in everyday usage, we saw a degraded performance when initially experimenting with pretrained models. As a result, we ended up training our own word vectors on a custom corpus consisting of “hacker-friendly” vocabulary from technology sources. This word2vec matrix proved much more performant than pretrained models.

We also ran into quite a few issues getting our backend up and running, as it was our first using Microsoft Azure. Specifically, Azure functions do not currently support Python fully, meaning that we did not have the developer tools we expected to be able to leverage and could not run the web scraping scripts we had written. We also had issues with efficiency, as the Python libraries we worked with did not easily support asynchronous action. We ended up resolving this issue by refactoring our cloud compute functions with multithreaded capabilities.

## What We Learned

We learned a lot about Microsoft Azure’s Cloud Service, mobile development and web app development. We also learned a lot about brainstorming, and how a viable and creative solution could be right under our nose the entire time.
On the machine learning side, we learned about the difficulty of document similarity analysis, especially when context is important (an area of our application that could use work)

## What’s Next for Hack2

The next step would be to explore more advanced methods of measuring document similarity, especially methods that can “understand” semantic relationships between different terms in a document. Such a tool might allow for more accurate, context-sensitive searches (e.g. learning the meaning of “uber for…”). One particular area we wish to explore are LSTM Siamese Neural Networks, which “remember” previous classifications moving forward.