Inspiration

I've always enjoyed playing Texas Hold'em Poker with friends, so when the opportunity came to participate in a hackathon involving poker, it was a no-brainer. With a background in data science, I found it to be a fascinating challenge—combining statistics, probability, and adversarial thinking to read and outplay opponents.

What it does

GTO3 is designed to emulate Game Theory Optimal (GTO) poker strategy. GTO represents a theoretical style of play that seeks to be balanced and unexploitable by maintaining dynamic ranges across different hand strengths—whether weak or strong.

Initially, GTO3 was built as a simple poker bot that evaluates hand strength while accounting for board texture, the number of opponents, and positional advantage to make optimal decisions.

How we built it

The bot was developed using pypokerengine. While we experimented with various AI tools to refine our strategy, most of our time was spent testing and simulating gameplay across different table sizes, opponent types, and game configurations.

Challenges we ran into

One of our toughest challenges was designing a bot capable of consistently outperforming the benchmark All-In bot. Because the hackathon scoring format added the two highest scores and the lowest non-zero score from multiple rounds, going all-in every hand emerged as an early dominant strategy—especially at tables with five players or fewer.

To counter this, we developed a probability-based pre-flop strategy, allowing our bot to make calculated bets with medium-strength hands. Instead of waiting for perfect cards, it could pressure other bots into folding—yielding strong returns over time.

What we learned

We gained valuable insights into poker theory and explored interesting optimization techniques through trial, error, and iterative improvement.

What's next?

We’d love to expand GTO3 into a fully-fledged app that you could use in casual games to (hopefully) exploit your friends and sharpen your poker skills!

Built With

Share this project:

Updates