Inspiration
Bluff House started with a simple question: What if Blackjack wasn't just about having the best cards, but also about convincing your friends that you did?
Traditional Blackjack is primarily a game between players and a dealer, where the outcome depends on the cards you receive and the decisions you make. While Blackjack already involves risk and strategy, we wanted to introduce something that traditional casino games don't usually emphasize: social deduction, bluffing, betrayal, and competition between friends.
Our inspiration came from a combination of multiplayer party games, casino games, and social deduction experiences where the most memorable moments often come from unexpected betrayals, risky decisions, and dramatic comebacks.
We imagined a multiplayer Blackjack game where players could:
- Challenge one another's confidence in their cards.
- Secretly bid to become the dealer and compete against the entire table.
- Risk their own fictional chips as the House.
- Challenge friends to minigames between Blackjack rounds.
- Form temporary alliances and betray each other.
- Use special cards to completely change the outcome of a hand.
- Bluff their way to victory even when their actual hand would normally lose.
From that idea, Bluff House was born.
Our goal was to transform a familiar card game into a competitive social experience where every round could create new rivalries, unexpected victories, and memorable moments.
We also wanted the game to be accessible. Bluff House uses fictional chips rather than real money, and players can create private rooms, invite friends, and participate without needing to create permanent accounts.
The Build With AI: Basics hackathon provided an opportunity to turn this idea into a working application while exploring how AI coding agents could support a complex, iterative software development project.
Rather than building a simple website or static game prototype, we challenged ourselves to develop a real-time multiplayer experience with multiple interconnected gameplay systems, reliable networking, custom artwork, and extensive automated testing.
What it does
Bluff House is a real-time multiplayer Blackjack and social bluffing game designed for 2–6 players.
Players can host private rooms, invite friends through a room code, or use Quick Play to join available public lobbies. Hosts can customize supported game settings, including starting chip balances, number of rounds, player limits, and gameplay timers.
The game features two primary modes: Classic Blackjack and Party Mode.
Classic Blackjack — With a Twist
Classic Mode provides a recognizable Blackjack experience, including placing wagers, drawing cards, standing, dealer turns, and calculating wins and losses.
However, Bluff House introduces a signature mechanic called Call My Bluff.
When a player has an eligible hand, they can wager that their next card will not cause them to bust. Another player can accept the challenge by matching the stake.
The server then draws the card, reveals the result to everyone at the table, and settles the challenge.
This creates a completely different decision-making experience. Players must evaluate not only their own cards but also the confidence, behaviour, and potential deception of their opponents.
A player might genuinely believe their next card is safe, or they might deliberately make an aggressive claim to tempt another player into accepting.
Party Mode — Become the House
Party Mode expands the game with additional mechanics, social challenges, and strategic opportunities.
One of its defining features is the House Auction.
Before Blackjack begins, players participate in a sealed auction to compete for the House position. Players submit hidden bids, and the highest qualifying bidder earns the right to become the dealer.
Unlike traditional Blackjack, the House is another player at the table.
The winning bidder takes on the dealer role and can make permitted dealer decisions. More importantly, the House has genuine financial stakes in the outcome of the round.
The House can earn fictional chips when the table loses and risk personal chips when players beat the dealer.
To keep this system fair, the game uses a finite Table Bank, funded dealer exposure, and server-authoritative settlement rules. The dealer cannot secretly manipulate cards, control randomness, or ignore legal actions.
This changes the dynamics of Blackjack: players are no longer competing against an anonymous dealer, but potentially against one of their own friends.
Custom Casino-Style Betting
Bluff House features an interactive chip-betting system with denominations of 10, 20, 50, 100, 500, and 1,000 fictional chips.
Players can combine denominations to build their own wagers, remove chips from their betting pot, undo selections, or clear their bet.
There are also quick betting options such as All-In, Half, and Quarter, subject to the game's available balance and funding rules.
The dealer's personal wager adds another layer of risk to Party Mode, allowing the House to put additional chips behind the table's performance.
Duels and Minigames
Between eligible Blackjack rounds, players can directly challenge one another to minigames.
Bluff House includes four fully integrated duel games:
- Rock Paper Scissors: A competitive best-of-five-style challenge with simultaneous hidden decisions.
- Coin Flip: A quick, server-randomized wager between players.
- Connect 4: A competitive board game with legal moves, turn enforcement, and countdown timers.
- Bullet Chess: A fast-paced chess match with legal-move validation, real-time clocks, and standard chess outcomes.
These are not disconnected minigames. They are integrated into Bluff House's fictional-chip economy.
Players commit actual in-game stakes, spectators can follow the action, and the server determines the outcome and distributes the funded winnings.
House Overthrows and Last Stand
The House position is not necessarily permanent.
After the House has completed the required tenure, eligible players can initiate an overthrow vote.
If enough players support the overthrow, the current House must defend their position in a Last Stand duel.
The winner determines who controls the House position going forward.
This introduces a social and political element to the table: being the dealer is valuable, but maintaining that position may require defending it against the other players.
Chaos Cards
Bluff House features seven special Chaos Cards, which introduce unexpected strategic opportunities during Blackjack.
These include:
- Double Down Chaos: Increase the amount committed to a Blackjack wager.
- Triple Down Chaos: Raise an eligible wager even further.
- Pot Twist: Offer players the opportunity to voluntarily increase their stakes.
- Emergency Fund: Receive a limited boost from the game's finite bonus reserve.
- Hand Swap: Exchange eligible Blackjack hands with another player.
- Table Turn: Rotate eligible hands between players.
- Second Chance: Replace an eligible recently drawn card.
Chaos Cards are awarded through gameplay and are particularly useful for creating comeback opportunities.
Each card has its own illustrated artwork, short description, and interactive interface. Players must decide when to activate a card, since the timing and eligibility restrictions can be just as important as the effect itself.
Bounties
The Bounty Board introduces player-versus-player rivalries beyond ordinary duels.
Players can contribute fictional chips toward a bounty targeting another participant.
If the target loses a qualifying bounty duel, the challenger receives the appropriate funded reward. Alternatively, if the target survives three qualifying defenses, they can claim the bounty themselves.
Bounties encourage players to form temporary alliances, coordinate against strong opponents, and create personal rivalries within a match.
Split-or-Steal
Bluff House also includes a social trust mechanic called Split-or-Steal.
Two players contribute equal amounts to a shared pot. Each secretly chooses whether to cooperate or betray the other.
The possible outcomes are:
- Both Split: Both players recover their contributions and may receive a limited cooperation bonus.
- One Splits, one Steals: The player who chose Steal receives the funded pot.
- Both Steal: The pot is transferred into the shared Vault.
Neither player can see the other's decision before the reveal.
This creates a game of trust and deception, where predicting another player's intentions can be just as valuable as understanding Blackjack.
Shadow Blackjack — The Final Bluff
One of Bluff House's most distinctive mechanics is Shadow Blackjack, a hidden-information finale where players compete for the accumulated Vault.
Shadow Blackjack uses Blackjack-style hands, but opponents do not see every card.
Players can see their own cards, while other players initially see only limited public information.
During their turn, players can make decisions about drawing, revealing their actual hand, or claiming that they have 21.
Other players then have a limited opportunity to challenge that claim.
If the claim is false and another player correctly calls it, the bluffer is exposed and disqualified from winning the Vault.
If someone incorrectly challenges a truthful claim, that challenger faces a penalty affecting their eligibility.
However, if nobody challenges a false declaration of 21, the bluff succeeds—even if the player's actual hand is busted.
This creates the ultimate social deduction moment: a player with a terrible hand can potentially win the finale simply because nobody was willing to challenge them.
The remaining Vault is distributed according to the game's funded eligibility, winner, and tie rules.
Shadow Blackjack represents the central philosophy behind the project:
The best cards don't always win. Sometimes, the best bluff does.
Additional Features
Beyond its main gameplay mechanics, Bluff House includes:
- Real-time room chat and emoji reactions.
- Customizable player avatars and colours.
- Session achievements and illustrated badges.
- Detailed match statistics and table-specific win tracking.
- Host moderation and room configuration.
- Reconnection and session recovery.
- Synchronized countdowns and multiplayer notifications.
- Responsive interfaces for desktop and mobile browsers.
- A stylized cartoon casino aesthetic, with illustrated cards, chips, tables, and character elements.
All wagers and payouts use fictional in-game chips. Bluff House does not involve real-money gambling.
How we built it
Bluff House was developed as a full-stack TypeScript web application, with an emphasis on real-time communication, server-authoritative gameplay, modular systems, and reliable testing.
Technology Stack
Frontend
- React
- TypeScript
- Vite
- CSS and responsive UI components
Backend
- Node.js
- Express
- Socket.IO
- Server-authoritative game engines and state management
Game Logic
- Custom Blackjack engine
- Server-controlled shuffled card shoes
- Funded chip ledger and transaction validation
- State machines for Blackjack, auctions, duels, deals, and special events
chess.jsfor legal chess moves and chess outcomes
Development and Testing
- Git and GitHub
- Vitest for unit and integration testing
- Playwright for end-to-end browser testing
- OpenAI Codex for AI-assisted development, debugging, implementation, and verification
- The official Devpost Learn Skill Pack for structured project planning and development
Planning Before Coding
One of our main goals was to follow a disciplined AI-assisted development process rather than generating a large amount of code without a clear plan.
We began by defining the project's intended audience, core gameplay mechanics, requirements, and technical architecture.
These decisions were recorded in structured planning documents:
scope.md— project boundaries, goals, and constraints.prd.md— product requirements and gameplay expectations.spec.md— technical architecture, implementation details, and verification approach.roadmap.md— development priorities and future directions.
These documents gave Codex a consistent reference and helped prevent important gameplay rules from being forgotten during implementation.
Building in Verified Milestones
We used the official Build With AI: Basics Learn Skill Pack to organize the work into a structured implementation workflow.
Instead of asking Codex to implement every feature simultaneously, we divided the game into 17 original development slices, followed by additional revision milestones.
The first milestones focused on establishing a reliable multiplayer Blackjack foundation.
Later milestones added House auctions, duels, Chaos Cards, bounties, deals, Shadow Blackjack, social features, matchmaking, and expanded gameplay options.
Finally, we concentrated on visual refinement, integration testing, and user-driven gameplay corrections.
Each milestone was intended to produce working behaviour that could be verified before proceeding.
We also maintained version-control checkpoints to preserve completed functionality and allow new work to build on an established baseline.
Using Codex as an Engineering Partner
OpenAI Codex played a significant role throughout the development process.
We used it to help:
- Translate gameplay requirements into technical implementation steps.
- Implement React components and backend systems.
- Build shared communication contracts.
- Develop server-controlled gameplay mechanics.
- Write unit, integration, and browser tests.
- Diagnose failing tests and race conditions.
- Review chip-accounting rules and settlement logic.
- Investigate connection and reconnection problems.
- Improve the visual interface and responsive layouts.
- Maintain documentation and Git milestones.
An important part of the process was retaining human control over product decisions.
When Codex proposed important rule changes, particularly around House funding and Shadow Blackjack, we reviewed the alternatives and clarified exactly how the game should behave before authorizing implementation.
This helped us use AI as a development partner rather than simply accepting every generated design or code change.
Server-Authoritative Multiplayer
One of the most important architectural choices was making the backend responsible for all meaningful gameplay decisions.
The frontend displays the game and sends player requests, while the server validates actions and determines the authoritative result.
This includes:
- Card shuffling and draws.
- Legal Blackjack actions.
- Dealer permissions.
- Player wagers and available funds.
- Challenge acceptance and settlement.
- Duel outcomes.
- Hidden information.
- Timers and expiration rules.
- House ownership and transfers.
- Final winner calculations.
Socket.IO keeps players synchronized through real-time events and state updates.
This architecture prevents the browser from simply declaring a winning result or changing a player's balance without server approval.
Testing Throughout Development
We placed significant emphasis on automated verification.
Vitest was used for unit and integration testing, while Playwright simulated real gameplay through multiple independent browser sessions.
Tests covered not only successful interactions but also incorrect inputs, stale requests, double submissions, disconnects, race conditions, and unusual financial outcomes.
Late in development, the application exceeded 900 passing unit and integration tests, alongside extensive browser-based gameplay verification.
Rather than relying on a single final testing phase, we repeatedly validated the implementation as new systems were introduced.
This was especially important because the game grew more complex over time and many features interacted with one another.
Challenges we ran into
Real-Time Multiplayer Synchronization
One of our biggest challenges was ensuring that multiple players always observed the same authoritative game state.
In multiplayer games, several actions can happen at nearly the same moment.
Two players might attempt to accept a challenge simultaneously, someone might disconnect during an active wager, or a timer could expire immediately before an action reaches the server.
We needed to account for:
- Simultaneous requests.
- Duplicate commands.
- Stale player actions.
- Disconnections and reconnections.
- Timers expiring during gameplay.
- Browser refreshes.
- Host changes.
- Players leaving during funded challenges.
We addressed these issues through server-owned game transitions, validated action identifiers, deadlines, and carefully controlled settlement behaviour.
Designing a Fully Funded Chip Economy
The game's fictional-chip economy became significantly more complicated as new features were added.
Initially, the system only needed to support basic Blackjack wagers.
Eventually, it had to account for:
- Blackjack betting and payouts.
- Player-controlled House dealing.
- House auction bids and personal dealer stakes.
- Finite Table Bank funding.
- Chaos Card wager multipliers.
- Duel wagers.
- Bounty contributions and rewards.
- Split-or-Steal contracts.
- Bonus reserves.
- Vault payouts.
A major concern was ensuring that chips were never paid twice, created without an authorized source, or committed beyond the available funds.
We introduced explicit reservations, committed stakes, funded pools, settlement records, and accounting invariants.
The House-as-dealer system was particularly challenging because we wanted the dealer to experience meaningful personal wins and losses without making the game unplayable after an expensive auction bid.
Balancing the House's personal risk with finite backing required careful planning, revisions, and additional testing.
Protecting Hidden Information
Bluff House depends on information being hidden from certain players until the correct moment.
Examples include:
- Sealed auction bids.
- Rock Paper Scissors decisions.
- Split-or-Steal choices.
- Dealer hole cards.
- Shadow Blackjack hands.
- Bluff outcomes before reveal.
Simply hiding this information through the frontend would not be secure enough.
Instead, we needed server-generated public and private views so each player received only the information they were authorized to see.
We also tested these privacy boundaries to ensure that unrevealed information was not accidentally exposed through multiplayer state updates.
Integrating Different Gameplay Systems
Another difficult challenge was getting many independent mechanics to work within the same match.
For example, a Chaos Card could change a Blackjack hand, but it must not rewrite the outcome of an earlier accepted bluff.
A player could reserve chips for one duel while another invitation arrived.
The House could be overthrown while financial responsibilities were still active.
Bounties and deals could contribute chips to the Vault, which then needed to be distributed correctly at the finale.
These interactions created edge cases that were difficult to anticipate during initial planning.
Developing the project in small milestones and running regression tests helped us identify these problems without losing the stability of earlier features.
Improving the User Interface
As Bluff House grew, the interface became increasingly crowded.
The application needed to display Blackjack hands, dealer actions, timers, chip betting, duels, Chaos Cards, bounties, deals, chat, and notifications.
Our earlier designs made certain secondary panels too prominent, sometimes pushing the main Blackjack table further down the screen.
Through hands-on testing and feedback, we redesigned the interface around a table-first layout.
We added a compact chip builder, reorganized social controls, improved the House auction presentation, simplified chat, and made incoming multiplayer requests more noticeable through contextual highlighting and optional sound alerts.
This taught us that a feature can work perfectly from a technical perspective while still being difficult or frustrating for players to use.
Working Effectively With AI on a Large Codebase
Another challenge was maintaining consistency across a growing codebase while using an AI coding agent.
As the number of features increased, it became more important to preserve previous decisions, communicate constraints clearly, and avoid unnecessary rewrites.
We learned to provide Codex with explicit requirements, implementation boundaries, testing expectations, and existing documentation.
We also learned to preserve stable Git checkpoints and distinguish between features that were implemented, features that were verified, and features that were still only proposals.
This made the development process more predictable and helped us recover from interruptions without losing completed work.
Accomplishments that we're proud of
Our biggest accomplishment is turning an ambitious game concept into a working, integrated multiplayer application.
Bluff House is not simply a static casino website or a collection of unrelated minigames.
It is a real-time social game with interconnected systems, meaningful player decisions, and an economy where outcomes affect later rounds.
Some of the accomplishments we're particularly proud of include:
1. Building a complete multiplayer Blackjack foundation
We implemented real-time rooms, synchronized gameplay, betting, card handling, results, and reconnection support.
This foundation allowed every additional mechanic to operate within the same multiplayer experience.
2. Making the House an actual player-controlled dealer
Instead of giving one player a decorative title, we created a House role with meaningful decisions, financial exposure, and the opportunity to profit or lose chips against the table.
The House auction, dealer controls, finite Table Bank, and personal dealer betting system became some of the game's defining mechanics.
3. Creating the Call My Bluff mechanic
This was the original idea that made Bluff House different from conventional Blackjack.
Players can wager on their own confidence and challenge the claims of others, creating moments where social judgment becomes part of the game.
4. Integrating four competitive minigames
Rock Paper Scissors, Coin Flip, Connect 4, and Bullet Chess all use synchronized multiplayer state and funded outcomes.
Players can challenge one another without leaving the overall match experience.
5. Implementing Shadow Blackjack
Shadow Blackjack combines private cards, actual Blackjack decisions, bluffing, timed challenges, and Vault payouts.
We're especially proud that a player can potentially win with an otherwise losing hand simply by convincing everyone else not to challenge their claim.
6. Developing a detailed fictional-chip economy
The game supports complex transfers across Blackjack, dealer stakes, auctions, duels, Chaos Cards, bounties, deals, and the Vault.
Preserving valid balances across those systems was one of the most technically demanding parts of the project.
7. Creating a cohesive illustrated interface
We developed a recognizable cartoon casino aesthetic with stylized chips, custom card artwork, achievement badges, player seating, compact betting controls, and responsive layouts.
The interface evolved substantially through feedback rather than remaining in its original prototype form.
8. Establishing extensive automated testing
We built hundreds of tests across the backend, shared logic, and browser interface, eventually passing more than 900 unit and integration tests at a late development milestone.
Automated browser journeys also covered real multiplayer matches, challenging interactions, recoveries, and complex financial settlements.
9. Following a structured AI-assisted workflow
Completing the original 17 milestones, documenting decisions, reviewing important rule changes, and iterating through additional revisions gave us practical experience managing a substantial project with an AI coding agent.
We're particularly proud that the final game reflects actual product decisions and user feedback, rather than simply being the first implementation an AI model produced.
What we learned
The biggest lesson from building Bluff House was that AI-assisted development is most effective when paired with clear requirements, careful planning, and independent verification.
At the beginning, we were focused primarily on what AI could generate.
As development progressed, we realized that the quality of the final application depended much more on how we organized the work, communicated expectations, reviewed results, and handled unexpected problems.
Planning Matters
Writing clear scope, requirements, and technical specifications before implementation helped establish a consistent direction for the project.
Without those documents, it would have been much easier to introduce contradictory mechanics or forget important constraints as the game expanded.
AI-Generated Code Still Requires Engineering Judgment
We learned not to assume that a feature was correct simply because Codex successfully implemented it.
A passing build does not prove that a multiplayer game handles disconnects, duplicate commands, hidden information, or financial edge cases correctly.
Testing and reviewing important design decisions remained essential.
The House economy and Shadow Blackjack redesign were particularly valuable examples of this. AI could propose alternative solutions, but the intended player experience and acceptable tradeoffs still required human judgment.
Real-Time Applications Are More Complex Than They Appear
Building Bluff House strengthened our understanding of networking, shared state, timing, authorization, and concurrent interactions.
We learned how easily a seemingly simple player action can become complicated when multiple connected clients must agree on its outcome.
Testing Is Part of Development, Not Just the Final Step
The project demonstrated the value of unit tests, integration tests, and browser-based end-to-end testing.
Tests helped us detect issues early and gave us confidence that new features were not silently breaking existing systems.
We also learned that automated verification and hands-on user testing serve different purposes.
Tests can confirm that a button works correctly, but only actual gameplay can tell us whether that button is easy to find or whether the experience is enjoyable.
Simplicity and Visual Hierarchy Matter
Early in development, we focused on adding mechanics.
Later, we realized that showing too many controls simultaneously made the game difficult to navigate.
We learned to prioritize the current player decision, keep the Blackjack table central, and present secondary features only when they were relevant.
Skills We Developed
Through this project, we gained practical experience with:
- React, TypeScript, and full-stack application development.
- Node.js, Express, and real-time Socket.IO communication.
- Multiplayer game-state synchronization.
- Server-authoritative architecture and state machines.
- Asynchronous actions, request validation, and race conditions.
- Financial-style transaction accounting and invariants.
- Hidden-information security and access control.
- Automated unit, integration, and end-to-end testing.
- Responsive interface design and accessibility.
- Git-based development and milestone management.
- Effective prompting, task decomposition, and verification with AI coding agents.
Perhaps most importantly, we learned that AI can dramatically accelerate implementation, but developers still need to understand what they're building, make design decisions, and verify the results.
The Devpost Learn Skill Pack reinforced this lesson by encouraging an organized process rather than treating AI as a one-prompt solution.
What's next for Bluff House
Although Bluff House was developed for the Build With AI: Basics hackathon, we see several opportunities to continue improving it.
Public Online Deployment
The current application has been verified primarily through local development and testing.
One of our next goals is to make Bluff House reliably accessible over the internet so friends can play together without needing to host the server locally.
This would also involve additional deployment, security, monitoring, and infrastructure work.
Persistent Accounts and Progression
Currently, player profiles and session achievements are primarily temporary.
We would like to introduce permanent accounts so players can retain their statistics, achievements, customization options, and match history across sessions.
A persistent progression system could also support long-term milestones and unlockable cosmetics.
Voice Chat
We explored WebRTC-based voice communication during development.
Synthetic local audio transport was successful, but we chose not to release voice chat without sufficient verification of real microphone permissions and physical-device connectivity.
In the future, we would like to add optional room voice chat to make bluffing, negotiating, and reacting to friends more entertaining.
More Customization
We would like to expand the available avatars, table themes, card designs, dealer cosmetics, and visual effects.
Because Bluff House focuses on social gameplay, giving players more ways to personalize their presence at the table could make the experience more memorable.
Additional Game Modes and Social Mechanics
There are many opportunities to build on the existing foundation.
Future additions could include new duel games, more Chaos Cards, alternative bluffing challenges, seasonal party modes, and additional player-versus-player mechanics.
Improved Accessibility and Mobile Support
Although Bluff House includes responsive layouts, we want to continue improving touch interactions, accessibility, animations, and performance across different devices.
A dedicated mobile experience could eventually make the game easier to enjoy anywhere.
Continued Development With AI
We also want to continue experimenting with the development practices learned during this hackathon.
The process of writing requirements, breaking work into milestones, reviewing AI-generated code, and using automated testing proved valuable beyond this individual project.
We hope to apply those lessons to future applications and continue refining Bluff House through player feedback.
Final Thoughts
Bluff House began as a small idea: adding bluffing to Blackjack.
It evolved into a real-time multiplayer party game where players can become the dealer, challenge their friends, overthrow the House, manipulate the game through Chaos Cards, form alliances, betray one another, and bluff for the final Vault.
Building it taught us about full-stack engineering, real-time systems, game design, automated testing, and how to use AI coding agents effectively in an ambitious project.
Ultimately, we wanted to create a game where the outcome depends on more than the cards you're dealt.
In Bluff House, the cards matter—but knowing when to bluff, when to trust, and when to call someone else's bluff matters just as much.
Built With
- express.js
- node.js
- playwright
- react
- socket.io
- tailwind-css
- typescript
- vite
- vitest
Log in or sign up for Devpost to join the conversation.