GoodKarmaCasino.com
| GoodKarmaCasino.com | |
|---|---|
| Type of site | Free-to-play social casino games |
| Created by | Stan Switaj |
| URL | goodkarmacasino.com |
| Written in | Python 3, JavaScript |
| Database | PostgreSQL |
| Web server | nginx + fcgiwrap |
| Virtual currency | GK Credits (no monetary value) |
| Version | 1.00 |
| Launched | 2026 |
| Current status | Active |
GoodKarmaCasino.com is a free-to-play online casino games website created and programmed by Stan Switaj. Players create an account, receive a balance of virtual GK Credits, and play browser-based card, slot and table games against a computer dealer. It is written in Python 3 with a PostgreSQL database, with all game logic executed on the server.
The site is an entertainment platform rather than a gambling one. GK Credits cannot be bought, cashed out or exchanged, and the site states plainly on its front page and in its footer that they are virtual tokens for entertainment purposes only and have no monetary value. No payment details are collected at any point, and every page carries the same notice.
Games
Five games are offered, all played for GK Credits with a minimum wager of one credit:
- Blackjack 21 — the player against the dealer, aiming for 21 without going over. Chips are selected in denominations of 1, 5, 25 and 100 credits and stack additively. The dealer hits on 16 and below and stands on soft 17 and above; a blackjack dealt in the opening two cards pays 3:2, an ordinary win pays 1:1, and a tie returns the wager. Double down deals exactly one further card for a doubled wager, a split is offered when the first two cards match in rank, and surrender returns half the wager. After a hand the player can change the bet, double the previous one, or rebet and deal in a single action.
- Poker — five-card draw against the dealer, standing pat or exchanging up to three cards to build the better hand.
- Slot Machine — the player chooses three, four or five spindles before each spin, with more spindles carrying a higher potential multiplier. The symbols are cherry, clover, diamond, horseshoe, bell, lucky seven and a star wild.
- Texas Hold'em — two hole cards and five community cards played across the pre-flop, flop, turn and river against the dealer.
- 777 Slots — a fully three-dimensional slot machine with a pull lever, three reels, up to five paylines and classic symbols including sevens, BARs, bells and cherries.
All card games share a single 52-card representation with no jokers, and dealt cards are tracked per hand so that the player's and dealer's cards are always distinct within the deck or decks in play.
GK Credits
A new account is awarded 100 GK Credits, and a further 100 may be claimed once per calendar day from the player's dashboard; balances do not expire. Wagers are deducted before a hand begins and winnings credited when it ends. There is no house fee beyond the wager, no way to purchase credits, and no loan or advance when a balance reaches zero — a player who has already claimed for the day is simply told when the next claim becomes available, and games refuse to start with an empty balance.
Every movement of credits is written to a transaction log alongside the balance it produced, under one of five types: the signup bonus, the daily claim, a wager, a payout, or an administrative adjustment. The player's balance is never changed without a matching log entry, which makes each account's history fully reconstructable.
Accounts and player features
An account has both a username, used only to log in and never shown publicly, and a display name, which is what appears on the game table, the dashboard greeting and the leaderboard. The display name defaults to the username at sign-up and can be changed afterwards; the username cannot.
The player dashboard holds the credit balance and daily claim button, an avatar upload, a profile section for the display name, a password change form, and statistics: hands played, hands won and lost, the largest single-hand win, and the best winning streak. A scoreboard, visible to signed-in players, publishes top-ten tables for credits held, total hands won, biggest single payout and best all-time streak. Winning streaks are also recognised during play, with burst animations at milestone runs of consecutive wins.
Games and the scoreboard require an account; the front page, the login page and account creation are open to visitors, who are directed to sign in when they try to play.
An in-progress hand survives a page refresh or a closed browser: the full state of the hand is held on the server and resumed when the player returns to that game, and cleared when the hand finishes.
Administration
An administrative dashboard lists player accounts with balances, join dates and last login, and allows credits to be adjusted manually — logged like any other transaction — an account to be deactivated, a player's full transaction history to be reviewed, and a password to be reset. Site-wide totals show the number of registered players and the quantity of credits in circulation.
A settings section selects the active algorithm for each game, toggles the optional bluffing dealer for the card games, and configures slot payout multipliers. A third section manages the frequently asked questions shown on the front page, which are stored in the database and can be added, edited, reordered or withdrawn.
Technology
The site is plain Python 3 CGI served by nginx with fcgiwrap, with a single router script handling page routes and a set of small JSON endpoints handling game actions and account operations. It uses no web framework, in keeping with Switaj's other projects, and shares their conventions: PBKDF2 password hashing at 310,000 iterations, 64-character hexadecimal session tokens held in a cookie with a thirty-day expiry, and the same replacement for the CGI module that Python 3.13 removed from its standard library. Database tables carry a gk_ prefix and cover accounts, sessions, in-progress games, completed hands, transactions, settings and the FAQ.
Game logic is entirely server-side. The browser sends actions — deal, hit, stand, double, split, surrender, draw, spin — and receives the resulting state; the cards themselves are never decided in the page. Each game's rules live in interchangeable algorithm modules, so a game can carry more than one implementation — a single-deck blackjack and a multi-deck variant, for example — with the active one chosen by an administrator and loaded at request time. The dealers in the card games follow fixed hand-strength thresholds by default; an optional bluffing dealer, kept deliberately in separate files from the threshold logic, can be enabled per game with a configurable bluff probability.
On the page, jQuery handles the requests and the interface is built in ordinary HTML and CSS, while the animated three-dimensional elements — cards dealt onto the table, the slot machine — are rendered with PyWeb3D, a Python wrapper for three.js. The player's avatar is drawn as a plain image overlay rather than as a three-dimensional object. Every page is responsive down to a 375-pixel width, with the game canvas scaling to the viewport and action menus stacking on small screens.
The site's visual identity is a deep purple and gold palette with neon teal and pink highlights and a dark green card-table felt, in the style of a Las Vegas casino floor.
History
GoodKarmaCasino is one of the sites Stan Switaj describes coding in the opening months of 2026, alongside the social news service EagleChirp.com. The site publishes its version as 1.00, and its footer carries a 2026 copyright.
See also
External links
- GoodKarmaCasino.com — official website