Independent project · 2026
Smear
I brought my family’s card game online, then added bots, a match simulator, live lobbies, and a learning mode.
Outcome
The site documents our family rules, lets people play online, and uses self-play to compare bot strategies.
- Role
- Independent designer and developer
- Year
- 2026
- Team
- Independent
- Tools
- Python, FastAPI, React
of simulated matches used to compare bots
01
Why I built it
My dad's side of the family has played Smear for as long as I can remember. It is a Canadian Prairie card game, and I spent years at the table waiting until I was old enough to join. Once I learned, I was hooked—and eventually began wondering how a computer could play a game whose rules were passed down rather than formally documented.
02
Turning our house rules into code
I implemented the rules in Python, connected them to a FastAPI backend and built the interface in React. The game handles bidding, trump, jokers, hidden hands and scoring. Translating all of the house rules faithfully took repeated testing against the way my family expected each round to behave.
03
Training bots without match data
There is no database of expert Smear matches, so the bots had to learn by playing. I started with random and greedy players, then built minimax and small neural bots trained through self-play.
I also built a simulator that runs thousands of matches and tracks Elo. It rotates seats so a bot does not appear stronger simply because it received a favourable position.
04
Taking it online
I added live lobbies, real-time updates, games against bots and a learning mode in which players choose a move before seeing what the strongest bot would play. What began as an experiment now documents our rules, lets other people learn the game and gives me a way to test bots against one another.
Next
What came next.
Next I want to run a live tournament for relatives across the country.
Project gallery


