Inspiration
We were inspired by daily challenges of common games such as the NYT games. We wanted to bring a more analytical challenge to the genre, while offering the ability for users to practice and improve their mathematical reasoning.
What it does
Bank Roll includes daily blackjack mode with the ability to compete in daily blackjack leaderboards, where you compete against users with the same hands to see who has the highest score. It also has freeplay with either learning aids showing you expected values of different moves and the calculations behind the math, or the ability to practice your skills in other scenarios such as multiplayer blackjack sessions.
How we built it
Bank Roll utilizes a Python backend connected to a Tiger Data Postgres database storing account details of users and leaderboards. The frontend connects via FastAPI, and calculations and learning tools are delivered through the Gemini API.
Challenges we ran into
There were learning curves associated with setting up the external databases and APIs. We spent significant time getting used to the documentation, as well as working around rate limits. There were also difficulties finding provided authentication for login use cases, so we had to manually implement a hashing+salting algorithm to store passwords securely within our database.
Accomplishments that we're proud of
Getting all the different modes with various functionalities set up was a significant ambition, since there was a wide range of ideas that we all had in mind. Also major high points were being able to manually set up authentication, as well as utilizing the Google Gemini API to create CPUS for the player to practice against.
What we learned
Practice with a polished frontend-backend-database architecture. We also got significant practice tinkering with various APIs and providers, which was significantly easier due to having concrete plans and architectures drawn up and decided before any code was utilized.
What's next for Bank Roll
New modes, custom cosmetics, and stronger CPUs for the player to compete against. We're also looking to implement more math and statistics-based card games to expand to, giving users more games to practice and train their mathematical and logical reasoning.
Built With
- fastapi
- gemini
- nextjs
- postgresql
- python
Log in or sign up for Devpost to join the conversation.