bj-architect

2024 personal tool Actively used
All projects

Real-time Blackjack strategy assistant. Optimal decision engine with session history.

The problem

Learning Blackjack basic strategy requires memorizing complex decision tables (hit/stand/double/split) for each hand combination and dealer visible card. Without guided practice, the learning curve is slow and expensive.

The solution

Assistant that shows the optimal play in real time for any possible combination. Decision engine based on standard basic strategy tables. Persistent session history to analyze which decisions were made vs. what was optimal.

Impact

  • Optimal decision in < 50ms for any card combination
  • Persistent session history with error analysis by hand type
  • Strategy error reduction from ~30% to ~5% in practice sessions
$ bj-architect --hand="A,7" --dealer="6"

  Tu mano: A + 7 = soft 18
  Dealer muestra: 6

  ┌────────────────────────────────┐
  │  DECISIÓN ÓPTIMA              │
  │                               │
  │  ▸ DOBLAR                     │
  │    (double down)              │
  │                               │
  │  EV: +0.18  vs Stand: +0.12  │
  └────────────────────────────────┘

  sesión actual: 23 manos · 91% correcto

Stack

SQLite + Drizzle ORM
Single-user personal tool — SQLite is perfect; Drizzle gives type-safety without overhead
Next.js 16
Interactive app with reactive state; no external API or auth needed
  • Next.js 16
  • TypeScript
  • SQLite
  • Drizzle ORM

Keyboard shortcuts

H
Home
A
About
P
Projects
C
Contact
G
GitHub
?
Show shortcuts