Inspiration

Would'Ja was created because we want to bring more excitement into moments of boredom with friends and inspire outdoor adventures. Our application is designed to encourage people to step outside, engage in activities, and create unforgettable memories with their friends.

What it does

Our React-built Would'Ja app introduces a dynamic "Would You Rather" game combined with exciting photo challenges. Users snap pictures, which our app and then using image recognition the objects that are detected are then fed into the Google Gemini API, generating personalized "dares" based on the images.

Players earn points (ranging from 1 to 10) by completing dares of varying difficulties. After a player does a dare, the turn passes to the next participant, marking the completion of a round when all players have taken their turns.

Would'Ja features a leaderboard, showcasing each player's accumulated points and declaring the ultimate winner of the game after a certain number of rounds are played. This game not only encourages engagement but also fosters friendly competition among participants, making every session of Would'Ja both entertaining and rewarding.

How we built it

Would'Ja was developed using React and Tailwind CSS. One of the core functionalities of the app involved capturing images through the camera and processing them to identify objects. This process was achieved by integrating the OpenAI API, which specializes in image recognition and object detection. This data is then sent to the Gemini API to refine and enhance the list of dares or suggestions for the user.

Challenges we ran into

Creating Would'Ja presented challenges when integrating APIs. One of the initial challenges was the OpenAI API for image recognition and the Gemini API for data parsing. This integration needed to ensure smooth data flow while addressing potential errors and data format variations.

Additionally, training the AI model to accurately identify objects for dares was another challenge. There were times where the AI didn't output correctly or failed to recognize objects, leading to us adding validation checks in our code to handle these rare edge cases. We trained our model multiple times to identify and address these issues.

Another significant challenge was efficiently processing the JSON object returned by the Gemini API and parsing it using the OpenAI API to extract precise information. Furthermore, designing a user-friendly interface that includes features like image capture, API calls, and data processing was difficult.

Accomplishments that we're proud of

Unique Challenge Generation: Would'Ja generates fun and silly challenges for users based on detected objects in their surroundings, with varying levels of difficulty and points assigned accordingly. This allows users to enjoy exploring the area around them in an interactive way.

User Interaction: Implemented a smooth, user friendly experience, allowing players to take turns taking images, choosing dares, and earning points, turning it into a fun game using objects around them.

What we learned

Image Recognition Using APIs: Gained experience with image recognition using Gemini API, and understanding their capabilities and limitations.

API Integration: Learned how to integrate external APIs like Google Gemini API into our application, leveraging their functionalities to enhance user experience.

Game Design and Engagement: Explored strategies to design engaging gameplay mechanics, balancing challenge and fun to keep players entertained and motivated.

React Development: Enhanced our skills in React development, utilizing hooks, state management, and routing to create the user interface.

What's next for Would'Ja

Enhanced Object Detection: We plan to improve object detection accuracy and expand the range of recognized objects, providing more diverse and interesting challenges.

Multiplayer Support: Implement multiplayer functionality, allowing users to compete against friends or join collaborative challenges, increasing competition on social interaction on Would'Ja.

Accessibility Features: Add accessibility features such as voice commands, screen reader support, and customizable user interfaces to ensure that Would'Ja is accessible to users of all abilities. By prioritizing accessibility, we will make the app more inclusive and welcoming to individuals with disabilities.

Built With

Share this project:

Updates