
Overview
How I turned $700 into $10k with some code, a Discord bot, and questionable life choices
A hobby project where I built an automated sports betting system to exploit mathematical inefficiencies in betting markets. Started with Python and Selenium, which proved too slow for real-time odds scraping. Rebuilt everything in JavaScript and deployed it across AWS EC2 instances, reducing scrape times from 5 minutes to 30 seconds. When pure arbitrage opportunities turned out to be virtually nonexistent, I pivoted to matched betting and bonus conversions. Built a Discord bot for 24/7 monitoring, and turned $700 into over $10,000 before being restricted by Australian bookmakers.
The Spark
While procrastinating on YouTube, I came across this video by Shane Huang about arbitrage sports betting in Australia. He explained how he turned $200 into $8,000 using pure mathematics—no luck, no insider knowledge, just math. Initially skeptical, I watched him break down the concept and realized it was actually sound.
The concept is straightforward: different bookmakers price the same events differently. If you can find mismatches where the sum of implied probabilities across all outcomes is less than 100%, you can bet on every outcome and guarantee a profit regardless of the result. It's not gambling—it's exploiting pricing inefficiencies through arbitrage.
Attempt 1: Python & Selenium (aka The Slow One)
After watching the video, I immediately started building. My first implementation used Python with Selenium for web scraping. The plan was straightforward: scrape all major bookmaker sites, compare odds, and identify arbitrage opportunities.
The problem: it was painfully slow. Even with headless Chrome, scraping odds for just the top European soccer leagues took nearly 5 minutes. By the time the script finished, the odds had already moved—the data was stale and effectively useless.
In sports betting markets, 5 minutes might as well be 5 hours. Odds move continuously, and without real-time data, the entire approach falls apart. I needed a complete architectural rethink.
Attempt 2: JavaScript & AWS (The Glow Up)

I rebuilt the entire system from scratch in JavaScript with a completely different architecture. Instead of sequential scraping on a single machine, I deployed multiple scraping packages across AWS EC2 instances running concurrently. This distributed approach transformed the performance characteristics.
The results were dramatic. Scraping time dropped from 5 minutes to 30 seconds. I could now monitor live odds across all major Australian bookmakers and betting markets in near real-time—fast enough to actually be actionable.
However, this revealed a fundamental problem: pure arbitrage opportunities are virtually nonexistent in modern betting markets. The major bookmakers are incredibly sharp. Scanning thousands of events might yield one or two tiny arbitrage windows per day, with margins so slim they barely covered transaction costs. This approach wasn't going to work.
The Pivot (When Plan A Fails, Try Plan B)
With pure arbitrage proving unviable, I needed a new approach. I'd already built a sophisticated scraping infrastructure and monitoring system—there had to be another way to leverage it. That's when I discovered matched betting and bonus bet conversions.
The insight: Australian bookmakers aggressively compete for customer acquisition through promotional offers—sign-up bonuses, reload offers, cashback deals, and more. Each bookmaker was essentially offering free money to attract users. The question became: could I systematically convert these promotions into cash?
The answer was Betfair, a betting exchange where you can both back and lay outcomes. By placing a bonus bet on one bookmaker and hedging it on Betfair, I could guarantee about 80% conversion to real cash regardless of the outcome. Repeat this across dozens of bookmakers and hundreds of promotions, and it becomes genuinely profitable.
The Discord Bot (My 24/7 Money Spotter)
Betting opportunities don't wait for you to be at your computer. They appear randomly throughout the day and night, and timing is critical. To solve this, I built a Discord bot that runs 24/7, monitoring odds across all bookmakers and alerting me whenever opportunities arise.
When the bot identifies either an arbitrage opportunity or a favorable matched betting scenario, it sends a Discord notification with all relevant details: teams, odds, recommended bet amounts for each side, and expected profit. This automated monitoring meant I could capitalize on opportunities without constantly refreshing bookmaker websites.

How It Actually Worked
The matched betting process is straightforward once you understand the mechanics:
- Step 1: Sign up for a bookmaker and claim their welcome bonus (typically $50-$200 in bonus bets)
- Step 2: Place the bonus bet on an outcome (e.g., Team A to win at 2.00 odds)
- Step 3: Immediately lay the same outcome on Betfair (betting against Team A)
- Step 4: Regardless of the result, you've converted approximately 80% of the bonus bet into withdrawable cash
While sign-up bonuses provided initial capital, the real value came from ongoing promotions: reload bonuses, cashback offers, odds boosts, and "risk-free" bets. Bookmakers continuously offer these incentives to retain customers, and each one could be converted through hedging. My scraping system optimized this by finding events with minimal spread between bookmaker and Betfair odds, maximizing conversion efficiency.
The Results (Yeah, It Actually Worked)

Starting with $700 distributed across multiple bookmaker accounts, I systematically worked through welcome bonuses, ongoing promotions, and matched betting opportunities over 9 months. The Discord bot automated opportunity detection, eliminating the need for constant manual monitoring.
$700
Initial Capital
$10,000+
Final Amount
9 months
Time Period

This wasn't gambling or luck—it was systematic execution of a mathematical edge. Every bet was hedged, every promotion converted at approximately 80% efficiency. Hundreds of small, guaranteed profits compounded over time into substantial returns.
The SaaS That Never Was

At one point, I considered turning this into a SaaS product. The system worked reliably for me, and there was clearly demand for automated matched betting services. I spent time designing what a subscription platform could look like—delivering opportunities to users with all calculations pre-computed.
However, the more I thought about the business model, the more uncomfortable I became. If bookmakers can profitably offer these promotions, it means enough people are losing money to subsidize them. The entire sports betting industry is fundamentally built on exploiting people with gambling problems who lose more than they can afford.
I realized I didn't want to promote or enable more sports betting participation, even the "mathematically sound" variety. The industry is predatory by nature, and I wasn't comfortable contributing to its growth beyond my personal experimentation. Some opportunities aren't worth pursuing, regardless of their profitability.
Getting Banned & Moving On
Ironically, success in matched betting is measured by how quickly you get banned. As I continued profiting from promotions, bookmakers began restricting my accounts one by one—betting limits reduced to $5, then outright bans. Within 9 months, I was effectively locked out of every major Australian bookmaker.
I could have attempted to circumvent the restrictions through alternative accounts or VPNs, but by that point I'd already validated what I set out to prove: mathematical edges exist in betting markets and can be systematically exploited with proper technical infrastructure. The experiment was complete.
More importantly, the ethical concerns had been weighing on me. Sports betting is fundamentally a zero-sum game that extracts value from vulnerable participants rather than creating it. I'd rather invest my time building products that generate genuine value for society. So I withdrew the funds, shut down the infrastructure, and moved on to other projects. The technical learning about web scraping, distributed systems, and automation was invaluable—and that was ultimately more valuable than the profits.
Tech Stack
The project evolved through multiple iterations, with the technology stack adapting to performance and architectural requirements:
V1 (The Slow One)
Python, Selenium, BeautifulSoup
V2 (The Fast One)
JavaScript, Node.js, Puppeteer
Infrastructure
AWS EC2, PM2
Automation
Discord.js Bot, Betfair API