Keefer Sery

Product engineer

I'm a software engineer at Bank of America, leading projects end to end. The projects below are mine, built in the open. Each one has a note on what turned out to be the actual problem.

Projects

Ordered by most recent work

Vibelock (opens in new tab)

Item builds for Deadlock, generated from live match data.

96 commitsLast push today

Deadlock build guides rank items by win rate, but win rate mostly records when an item gets bought, not what it does. The expensive items are only affordable to players who are already winning, so they inherit a result they had no part in: on live match data, an item's raw win rate tracks the win probability that already held at the moment of purchase at r ≈ 0.91. Vibelock scores each item only against purchases made at a similar net worth, then fills each phase against the budget you'd realistically have, since the five best items rated separately rarely compose into a build you can afford.

  • React
  • TypeScript
  • TanStack Query
  • Vite
  • Valibot

Slow Your Roll (opens in new tab)

Expected-value tracker for World of Warcraft bonus rolls.

28 commitsLast push 2d ago

A bonus roll buys one extra chance at a boss's loot, and the usual advice is to spend it where you have the most upgrades, or where your best-in-slot item drops. Both fail because a roll draws from the boss's entire loot table, so a long list of upgrades dilutes every individual chance, while a small shot at a big upgrade is often worth less than a good shot at a modest one. Slow Your Roll scores what a roll is actually worth on average, then applies that number to the decisions around it: which boss to spend on, whether the guaranteed item in your weekly vault beats rolling, and whether switching loot specialization would improve the pool.

  • Vanilla JS
  • TypeScript (checkJs)
  • Zero-build static
  • Node test runner

Activity

124 commits · updated Jul 31