Inspiration

Everyone knows that one of the most consistent, powerful ways to build wealth... is to play Blackjack. But not just playing Blackjack, winning Blackjack. So we developed a solution to maximize your chances of WINNING BIG.

What it does

Winsight can connect to any external camera (webcam, integrated camera, etc.) and read the dealer's as well as your cards using OpenCV for image processing and a YOLOv8 pre-trained object detection model. Winsight will then algorithmically deduce the best course of action (hit, stand, or double), the chance of busting, how much you should increase or reduce your bet by based on said chances, all while keeping track of all cards that have been tabled to more accurately deduce moves for every subsequent hand.

How we built it

We used Flask to create a web application in Python, which allowed us to connect our back-end to a HTML/CSS/JavaScript front-end and display everything going on behind the scenes. We used OpenCV to handle all of the live feed processing from our webcam (grayscaling, binary thresholding, contouring) to increase the accuracy of the object detection. Lastly, we used a pre-trained YOLOv8 object detection model that had been trained with a dataset of playing cards so that it could recognize the user's and dealer's cards.

Challenges we ran into

This was our first time using Flask, OpenCV, and a machine learning model. The majority of the time spent on this hack was learning, conceptualizing, and debugging.

Accomplishments that we're proud of

Learning three new, interesting technologies in a relatively short amount of time, and actually finishing our project in time!

What we learned

The importance of planning throughly and setting realistic goals before jumping into coding.

What's next for winsight

This same object detection model could be repurposed to be used for different game plans, algorithms, and different card games such as Poker.

Built With

Share this project:

Updates