Inspiration

Our inspiration came from playing lots and lots of jackbox, as well as our kahoot days from high school! We know that many high school teachers find it hard to make kahoots for their classes, especially those with hard topics, so we wanted to create an easy, interactive, and scalable way for teachers to quiz their students, not to mention students themselves can use this game to study!

What it does

Our project is called TrivAI. TrivAI is a trivia-based game that allows users to upload a document of any format or a youtube link and create a set amount of trivia questions using the power of GenAI and NLP. Players can join a game with a room code and a player name, similar to jackbox and skribbl.io. Each player gets a set amount of 8000 life points, and the player with the most life points once all the trivia questions are over, or if only 1 person is left, will win the game. However, speed matters! First place will lose 0 life points, and the last person to get it correct will lose 500 life points. Anyone who gets the question wrong will lose 1000 points!

How we built it

We wanted to use React on our frontend, which is great for interactive web-based games. Our goal was to make a clean, detailed, scalable frontend for our game. We decided to use FastAPI with AWS for our backend, for our document, user, and game storage. Our backend handles all of the heavy computation, changes to the game state and player states, as well as any document uploading. Our genAI component was built with OpenAI, Langchain, VertexAI, and pandas.

Challenges we ran into

We coded our front-end and back-end completely independently until we reached a point where we could no longer rely on hard-coded data, and we had to run our pipeline and connect our pieces together. We ran into a lot of challenges here, between integrating our node.js server, with our python OpenAI quiz generation, and making sure all our events are updated in real-time, whilst the game creator and game players being recognized as different individuals, and thus screens.

Accomplishments that we're proud of

We stayed up for the entire 24 hours and were able to accomplish a lot. We believe we made an amazing product that is easily scalable with the technologies we used. We were able to finish all of our goals, as well as finish a few reach goals as well! We had a lot of fun with this project, and hope that you all enjoy it too!

What we learned

We were all using technologies that we were comfortable with, but none of us have made a real-time application like a web-based game before, so whilst 2 of us had React experience, and 2 of us also had node.js experience, it was really hard integrating everything together in real-time. We got to learn a lot about real-time server and client communication, and how to make a web-based game similar to jackbox and kahoot!

What's next for TrivAI

Share this project:

Updates