Also see: Bevo Search Demo HackTX 2024 (informal)

Inspiration

No more wasting minutes after minutes searching for terms that we thought existed, only to realize that only its synonyms do.

What it does

It pulls the emails from Gmail using Google API, puts them together into a Dataframe, uploads it to InterSystem's IRIS Data Platform, and turns the contents into vectors, which are used in searching. Beyond exact matches of keywords, contents with similar meanings are counted as relevant too. Then they are used. They are displayed in Unity with an animated interface that is designed in a gaming style.

How we built it

Made with Unity, C#, SQL, and Python 3, using libraries such as Iris, Pandas, sentence_transformers, and the data management tool IRIS Data Platform. We each individually built our own parts on our own laptops, and then in the end transported it to Pascal's laptop to put integrate everything.

Challenges we ran into

Running Python files through C# was complex. Setting up the virtual environment for Iris was difficult. An extra double quote caused SQL to mishandle commands. Directory differences led to confusion with ‘file not found’. Other misspelling-induced hassles. Google API key only downloaded parts of the dataset (later realized that it was due to max limit setting). Output couldn’t be encoded (codecs.charmap_encode problem), fixed by specifying encoding = ‘utf-8’. Variable naming problems. Forgot to save input.txt before rerunning, only to be surprised with empty outputs. Trying to stay awake and productive at 2:37 AM. Many many more.

Accomplishments that we're proud of

We split up the work so things went smoothly. Ayush focused on working with Google API, pulling from Gmail, and storing data into a csv file. Pascal focused on designing Bevo, animating in Unity, programming in C#, and integrating the search inputs and the output data into the layout. Bolong focused on the Iris System and InterSystem’s Vector Search feature. Arjit focused on helping Pascal in animation and developing the code.

What we learned

We've learned a lot about using databases and vector search. We've learned to integrate Unity, Shell, and Python, combining the backend and the front end of a desktop app.

What's next for Bevo Search

We would like to add image and PDF search functionalities, make the API usage more secure, and implement a GPT wrapper behind Bevo to provide custom responses to further search queries. We would also like to add the ability to discard junk and spam emails.

We may also add more special effects and animations to Bevo, of course; for example, a loading screen with Bevo spinning while shooting small Bevos that are shiny, possibly with a blurring effect? We may even make a platformer game, where the character tries to avoid Bevo's shootings while being recharged by the amount of emails and their relevances that return from each search.

Built With

Share this project:

Updates