Inspiration

We wanted to test the capabilities of artificial intelligence in 2024, where us humans are having more difficulty distinguishing the difference between what’s real and what’s AI-generated. AI or not? is sort of a cautionary project for you to be careful, because not all the things we see online are real.

What it does

You are presented with 2 images side by side, and you have to pick the one that is real. The images that fool users the most times will go on the leaderboard. The AI-generated ones can get quite convincing, so good analytical skills are needed! Another feature we worked on was letting users chat with either an AI LLM or another user concurrently to determine whether they were talking to an AI or not. We leveraged LangChain and GPT4o’s API and provided it historically aware retrievers for context to mimic human text. Although we made a lot of progress on this feature, the time constraint prevented us from finishing this feature and it is something we will continue to work on.

How we built it

In terms of our tech stack, we used Next.js and Tailwind CSS for the front end. For the backend, we made a separate server using Node and Express. The entire project was written in Typescript to ensure type safety. We used Supabase which is an open-source Postgres database to store our images and leaderboard statistics. Supabase built in AWS buckets also made it easy for us to store and retrieve pairs of AI generated and Human images.

Challenges we ran into

Since there are only two people in our team, each of us had to handle more parts of the project than usual. We encountered bugs as usual and there were aspects of the technologies that we were not familiar with which caused us to lose more time and energy.

What we learned

We learned that planning is very important for projects that need to be finished in a short time. Balancing is essential as well since not every part of a project can be perfect, and we need to make sure we outweigh the cons with the pros. We learned that prioritizing core features of an application is important as these features are the heart of it, while other features can be considered enhancements that add value but are not critical to the main functionality.

Built With

Share this project:

Updates