Coming to the hackathon, the members of our group were unsure of everything possible. We didn’t know what to expect, what we were supposed to do, and what direction to take to achieve such ambiguous goals. It doesn’t help that we met each other at the beginning of the event. We were very lost. We looked for inspiration from mentors, peers, and other members at the event. All we wanted was someone to understand our position, interests, and background and subsequently tell us what to do. We wanted the hard decision to be made for us.
What it does
Our web application is a clone of the CUhack.it website that has an extra tab in the navigation bar labeled ‘Suggestions’. When the tab is clicked, the user is navigated to the bottom of the page where we have integrated a virtual assistant using DialogFlow, a Google Cloud product. The user can communicate with the virtual assistant and find inspiration and ideas based on their experience, interests, and more.
How we built it
First, we used Github to clone the CUhack.it website and downloaded the contents into a local repository. We opened the raw html files using a web development IDE to edit the source code. We then used DialogFlow from the Google Cloud Platform in order to configure the virtual assistant. We worked through the logic flow and conversation possibilities in order to implement a smooth conversation between the machine and the user.
Since the material is copyrighted, we could not link the completed customization to a new domain. To resolve this, we installed NPM and set up a local HTTP server to allow the web application to function.
Challenges we ran into
Finding an idea that we could all work on and hope to finish was probably the most difficult part of CUHackIt. This is why we chose to make this idea generator! We tried many different implementations of an idea generator, such as Actions by Google and Kommunicate, but ultimately settled on DialogFlow(Google) as it was the simplest to embed in the website.
Some challenges while developing included finding the simplest way to use DialogFlow. Since DialogFlow has so many features, narrowing them down to get the barebones was a big challenge. Another problem we encountered was getting our chatbot to respond appropriately. Since DialogFlow is ran by Google, it includes an automated small talk feature. This feature is great, but when the user asks the bot for help, instead of activating our dialogue, the bot would call on its small talk.
Cloning the website and modifying the root files used during development was a huge challenge. We were able to locate the creator of the actual CUhack.it website and he was very helpful in teaching us and providing us with the resources we needed. Integrating the DialogFlow with the source code was confusing because of formatting discrepancies and calling the DialogFlow API never seemed to work properly. We were able to work through these issues and as a bonus, we integrated a feature to accept voice input from the user.
Accomplishments that we're proud of
We were able to learn the basics of backend web development. Since the CUHackIt website uses Bootstrap, we were forced to learn a new form of web development. From there, we studied how to embed our bot into the website.
We are proud of our chatbot since we can improve on this in the future. Machine learning is easy to implement in DialogFlow, so if we choose to work on this project later, the chatbot would learn how to analyze the needs of the user better.
What we learned
All of us came from different levels in our academic curriculum, different majors, and with different skillsets. We learned that no matter how you start, all that matters is how you finish. We knew we might be at a disadvantage especially since we had never met each other before the event, but we didn’t let that stop us.
All three of us gained a firm understanding of front-end and backend web development, the wide array of technologies on cloud platforms, and the logical flow of chatbots and virtual assistants. Building such a tool seemed almost impossible before we came in, but with the power of hard work and consistency, we were able to lock arms and power through the challenges we faced. That was the biggest lesson of all.
What's next for Tygre AI
After the event, we plan to continue working on this project to keep learning and perfecting the logic of the virtual assistant. This will be great practice and experience for us going forward since we have dreams of being developers. We will not publish this project because the material is copyrighted, but we will use the skills we learned in future projects.