Back to projects




2026
Blackjack Counter
Personal project
A desktop Blackjack game in Python with a Tkinter GUI and a parallel CLI front-end, both driven by the same state-machine core. Built as a focused refresher on Python fundamentals with strict separation between game logic and presentation.
Tech stack
PythonTkinterpytestuvruff
Highlights
- One Game state machine drives two front-ends: a Tkinter desktop window and an ASCII-art CLI, both calling identical core logic.
- 182 tests across cards, scoring, state machine, Tk widgets, and CLI rendering, full suite runs in under two seconds.
- Reproducible environment via uv with a locked dependency graph and editable install; no global Python pollution.
- Hand evaluation handles soft aces, busts, naturals, and dealer-stays-on-17, each with dedicated test coverage.
Screenshots


