Our team was comprised primarily of beginners to hacking, so we sought to take on a project in a new area none of us had worked with before, those being Web3/Ethereum or NLP. Both areas had tremendous sponsor support and help, and we eventually decided on an NLP project using Cohere's API.
Using Cohere's API, we decided to educate people using our project on NLP technologies in a fun, engaging, and approachable way.
The main premise of the app was based on spot-the-lie style party games such as those frequently seen in the JackBox Party packs. We thought that trying to mimic an intelligent AI would add an interesting challenge to this style of gameplay, and teach players to spot differences between how AI and humans speak; thus furthering people's knowledge in an approachable manner.
What it does
ImitAItor pits two opponents against each other as they attempt to imitate an AI. An identical prompt is provided to both players, and they are each tasked with creating a sentence based on this prompt. Simultaneously, the prompt is fed to one of Cohere's Natural Language Processors (NLP), allowing it to create a fitting sentence. These 3 sentences are then shuffled, and each player must guess which of the sentences was written by the AI. If a player correctly guesses the AI's sentence or tricks their opponent, they win. Studying the AI's writing style across multiple games and imitating it effectively to throw off your opponent is key to success!
How we built it
Our backend utilized Python calling Cohere's NLP API. Front-end was built using Figma and Tkinter GUI framework for Python.
Challenges we ran into
Since we had no previous experience, we dedicated most of the time learning about Cohere and NLP before we felt comfortable enough to build a project. The API integration was fairly straightforward since Cohere is so well integrated, though it was tricky figuring out where to apply it in our project. We originally planned for this to be a larger multiplayer game, implementing communication between server and clients. However, running short on time, we ultimately decided to scale down our project to deliver a higher quality final product.
Accomplishments that we're proud of
We're proud of learning a new skill/API and challenging ourselves by taking on something we've never worked with before!
What we learned
- General NLP concepts
- Using and integrating Cohere's API
- Though not included in the project itself, we picked some Web3 and Ethereum concepts from sponsors and workshops.
What's next for ImitAItor
We plan to add support for additional players, as the current limit of 2 is quite limiting. A user sign-up and log-in system, a more sophisticated user database (e.g. CockroachDB), could help mitigate this issue. We've also considered the possibility of integrating a web3 marketplace into the game. Additionally, we plan to implement further interesting Cohere API applications.