The Bug That Ate a Day: It Only Hung in Production

This is the last post in my series on rebuilding my daily fantasy lineup optimizer (it all starts here). The math was the easy part. This post is about the day I lost to a bug that didn’t exist on my computer and only showed up once the tool was on a real server — the kind of problem that makes you question your sanity before you find it.

Worked on my laptop, hung in production: the same code behaving differently on a server
Continue reading “The Bug That Ate a Day: It Only Hung in Production”

One Good Lineup Is Easy. Twenty Is the Hard Part.

This is part four of my series on the daily fantasy lineup optimizer I rebuilt this year (the series starts with the origin story). Everything up to now has been about finding the single best lineup. Here’s the uncomfortable truth that took me a while to accept: the single best lineup is the easy part, and it’s not what wins tournaments. The hard, interesting problem is building a set of lineups that are each strong but smartly different. That’s where the real work — and the real edge — lives.

Player exposure grid showing which players appear across a set of fantasy lineups
Continue reading “One Good Lineup Is Easy. Twenty Is the Hard Part.”

The Multi-Position Trick I Retired From My Optimizer

This is part three of my series on rebuilding the daily fantasy lineup optimizer I started in Excel in 2012 (start here if you missed the first one). This post is about a small, clever trick I used in the spreadsheet for years to handle players who can fill more than one position — and why, when I rebuilt the tool, I deliberately threw it away.

Diagram of a multi-position player eligible for several roster slots in a fantasy lineup
Continue reading “The Multi-Position Trick I Retired From My Optimizer”

A Fantasy Lineup Is Just a Knapsack Problem

This is the second post in my series about rebuilding the daily fantasy lineup optimizer I first wrote in Excel back in 2012 (the origin story is here). Before I get into the clever parts, I want to start with the simplest and most important idea: a fantasy lineup is just a knapsack problem wearing a baseball cap. Once you see that, everything the optimizer does makes sense.

Diagram showing a fantasy lineup as a knapsack problem: salary cap as the bag, players as items with salary and projected points
Continue reading “A Fantasy Lineup Is Just a Knapsack Problem”

From Daily Fantasy to Fiverr to a Free Lineup Optimizer

Back in 2012 I got into daily fantasy baseball, and like a lot of people with an Operations Research degree and a little too much free time, I couldn’t just play. I had to model it. That turned into an Excel spreadsheet that picked my lineups for me, which a few years later turned into a small side business selling those spreadsheets on Fiverr, which then sat untouched in a folder for the better part of a decade. This summer I finally dragged it back out and rebuilt it as a free lineup optimizer that runs in your browser at mlb-lineup-optimizer.kindoflost.com. This is the story of how it got here, and the first post in a short series about the rebuild.

Timeline from 2012 daily fantasy to 2016 Fiverr tools to a 2026 free lineup optimizer
Continue reading “From Daily Fantasy to Fiverr to a Free Lineup Optimizer”