Pinochle
Partnership pinochle played by our family's house rules, with computer players, online tables and our own card art.
- Year
- 2026
- Runs on
- Web app
- Built with
- TypeScript, Game AI, Monte Carlo search, React, Vite, Node.js, WebSockets, Vitest, Playwright, Linux hosting


The problem
We play a particular version of pinochle, with our own rules for bidding, passing and shooting the moon, and no app plays it that way. Getting four of us around one table doesn’t happen often either.
What I built
The rules engine knows every house rule, from the bid and the pass through meld, legal plays and scoring. The biggest part of the project is my own AI player. It sees only what a person in that seat could see, so it has to reason about the hidden cards: it infers what each player probably holds from how they bid, samples many possible deals consistent with that, and searches each one to choose the play that wins most often. An arena plays the AI levels against each other over thousands of hands, so every change is measured rather than guessed, and parts of the strategy are tuned by training.
Online tables start with an invite code, any mix of people and computer players can fill the four seats, and games are saved on the server.
The cards are our own art, drawn for a printed deck. It also plays from the keyboard: Enter to bid, P to pass.
Result
It’s how we play between visits, and the stats page settles who actually bids well.