A while back, I booked a trip to Las Vegas.
For most people, that means figuring out which shows to see and which hotels have the best pools. For me, it meant spending the next several weeks obsessing over expected value, variance, and whether there was such a thing as an optimal betting strategy.
A bit of context: I'm a defrocked actuarial analyst turned software engineer. I studied actuarial science, which is essentially the application of probability and statistics to long-term financial risk. Passed a few exams, then pivoted to software engineering, which suited me better. But the mathematical wiring never goes away. Once you've spent enough time thinking about probability distributions and risk models, you can't really turn it off, especially when money and randomness are involved.
So when the Vegas trip was booked, the analyst brain kicked in immediately. I was not going to walk into a casino and just throw chips around. I was going to figure out the best approach first.
I started where most people start: Martingale.
Double your bet after every loss, reset after every win. The logic seems airtight on the surface. Eventually you have to win, and when you do, you recover everything plus a small profit. Anyone with a passing interest in roulette has heard of it.
The problem, which anyone who has done the math will recognize, is that the doubling progression escalates catastrophically. After six consecutive losses on an even-money bet, you need to stake 64 units to recover 1 unit of profit. After ten losses, 1,024 units. Table limits exist precisely because casinos know this, and they cut the progression off before it can theoretically save you.
I also had a personal data point: a few years earlier I had lost $500 in about fifteen minutes using this exact strategy. I needed something more refined.
So I kept looking. I discovered other well-known strategies such as Fibonacci, D'Alembert, Labouchère, Paroli, and so on. Built rough models in spreadsheets, ran scenarios. Then I fell into the YouTube rabbit hole.
I can't remember exactly which video surfaced first, but at some point the algorithm served me something from CEG Dealer School, a channel run by actual roulette dealers teaching the game from the inside out.
What I found there reframed everything.
I had been thinking about roulette as even-money bets. That's the surface of the game, the part that's legible to a casual player. I did not know there was a whole community of passionate roulette players. Players who had been studying roulette seriously for years, sharing systems, discussing sessions, debating approaches. Not people chasing losses in desperation but people who found the game intellectually interesting and applied genuine thought to it.
I had stumbled into a world I didn't know existed.
The community opened my eyes to something I had been missing.
Players had wildly different approaches and objectives: sector plays, custom progressions, hybrid systems combining bet selection with money management. Some wanted to grind slowly, others to swing big in short sessions. But at the end of the day, everyone's goal is the same: to walk away with more money than they bought in with.
Simple progression systems like Martingale were easy enough to model in a spreadsheet. But the moment strategies got more sophisticated (conditional progressions, multiple bet placements per spin, state-dependent logic), a spreadsheet fell apart. What I really wanted was a generic way to simulate any system possible, under the same conditions, with a standardized definition of what a system even is.
That way, the comparison becomes real. Not anecdotes on a forum, but actual numbers.
So I put myself to work to finally build the Simulator to rule them all.
The first thing I built was a roulette simulation engine in Python. It worked, but simulating millions of spins took forever. So I recoded it in Go and optimized it for performance. Fast, typed, structured around the actual domain of the game: tables, pockets, bet placements, payout ratios, progressions. Not a toy, but a proper model of what happens during a roulette session, spin by spin.
The engine could take a strategy definition as input, simulate it over millions of spins, and produce a detailed report covering win rates, drawdown distributions, session length, and bankroll curves across all the outcomes. Running the Martingale through it was the first real test. The numbers confirmed the math but also made it visible. You could see the distribution of outcomes, the frequency of catastrophic loss events, what the progression actually looked like in practice rather than theory.
Then I started testing every new system I could find. The engine didn't care what the system was. It just ran it.
The prototype was a command-line tool that took a JSON file and returned a report. Rough, but functional.
At some point during all this, a thought occurred to me.
I had a tool that could evaluate any strategy under standardized conditions. What if anyone could use it?
Not just technically, not just "here is a command-line tool you can run if you know what you're doing." But genuinely accessible: you describe your strategy, submit it, get the full simulation report back, and see where your system ranks against every other system anyone has ever submitted.
A leaderboard.
The problem was it could only be run on my machine, and I also wanted anyone without programming skills to be able to use it.
This is how Roll Buddy came to life. The core idea is simple: every submitted strategy runs through the same simulator, under the same conditions, and gets scored on the same metrics. The score is objective. The ranking is public. The full report is yours to read and share.
No more circular forum arguments built on anecdotes. You have a system you believe in? Submit it. See how it performs. See how it compares.
The platform supports two strategy formats: a structured JSON format for describing systems in terms of progressions, transitions, and bet layouts, accessible to anyone who can articulate their system as a step-by-step state machine, and a Python format for more sophisticated logic that needs more flexibility than the visual builder allows.
I want to be direct about this, because it matters.
Roll Buddy does not tell you that any system is profitable. None of them are, in the long run. The house edge is real, and nothing in the strategy definition changes that. The scoring reflects simulated performance: how a system behaves across millions of spins and thousands of games on the criteria the engine measures. Better scores mean better simulated performance. They do not mean you will leave the casino ahead.
What the platform does is make the differences between systems legible. Two systems with identical expected values can have completely different risk profiles, session length distributions, and variance characteristics. Those differences matter, both for understanding the game and for making informed decisions about how you want to play it.
After multiple weeks of research, I finally stumbled upon a strategy that outperformed every other one I had tested. When the trip to Vegas eventually came around, I put it to the test. We had a blast, and we ended up winning enough to make the trip basically free.
After our return, we kept playing for a couple of months until we got wiped out clean of the bankroll we had built up, around $5K. Then we stopped.
And I keep wondering if there is one even better out there.
Roll Buddy is the tool I wished had existed before I started that quest. It would have made it a lot easier. If you're planning a trip to Vegas, maybe Roll Buddy can save you a few weeks of spreadsheets.