Luke Whitestone

Projects

Things I build for the love of it — ambient hardware, exhaustive solvers, and small multi-agent experiments.

Ambient hardware dashboard for live Claude Code sessions

airgbmatrix

  • CircuitPython
  • Python / Flask
  • Tailscale
  • HUB75 / Matrix Portal S3

Scaffold write-up — replace with the final prose and add the architecture diagram.

A 32×32 RGB LED panel that shows active Claude Code sessions in the room: one tile per session, colored by session GUID, with a live token and code-change histogram.

The path the data takes is the interesting part. A cloud devbox running Claude Code (with shell hooks) reaches a Flask state server on my home laptop over Tailscale only; the laptop drives an S3 Matrix Portal on the home LAN (CircuitPython) which renders to a HUB75 panel. Internal by design — Tailscale for cross-host traffic and a LAN-scoped Defender firewall rule for panel access, so there’s no public auth surface.

Three parts I’m happy with:

  • Color leases, not hash-mod-8. An 8-color palette with a birthday-paradox-aware lease system that guarantees distinct colors across concurrent sessions, instead of hashing the GUID into 8 buckets and praying.
  • Transcript reconstruction. Per-turn token and code-change counts are recovered by parsing the session transcript.
  • Dual renderer. A server-side Python renderer and the CircuitPython port on the S3 produce bit-for-bit matching output.

Exhaustive solver that judges your holds against optimal EV

Video Poker solver

  • TypeScript

Scaffold write-up — replace with final prose + screenshots (sim convergence and a hold-reasoning example).

Exhaustive hold evaluation across all 32 hold combinations for a hand, with correct expected-value weighting over the full remaining deck.

Two modes:

  • Player — judges your holds against the optimal play.
  • Sim — runs millions of hands and converges to the known optimal return percentage (e.g. 99.54% for 9/6 Jacks or Better), which is a satisfying correctness check on the EV math.

Planned next (tracked on the roadmap): surface the EV delta and show exactly where a chosen hold diverged from optimal — the hold-reasoning output is the most interesting thing to put on screen.

Command-line craps with an unusual dealer mode

Craps

  • Python (CLI)

Scaffold write-up — replace with final prose + a screenshot.

A command-line craps game with three modes:

  • Player — spend a bankroll placing your own bets.
  • Dealer — the CPU places bets and you adjudicate each as it resolves.
  • Free — unlimited bankroll, for exploring the table.

Dealer mode is the distinguishing idea. Adjudicating the house’s bets, rather than placing your own, is an unusual framing for a casino game — and it turns out to be a good way to actually learn how each bet resolves.

Twelve agents with differing prompts argue a criminal case

AI JuryWork in progress

  • Python
  • Mistral

Scaffold write-up — early/WIP. Keep it honest; ship the roadmap, not a promise.

Twelve agents, each with a different prompt, deliberate a criminal case and argue toward a verdict.

It’s early. The case and the prompts are static for now, and you need a Mistral key to run it. Where it’s going:

  • User-configurable cases and prompts.
  • A jury-selection game mode — choosing the panel before the argument starts.