Built with AI — Case Study
A Telegram bot that monitors sports odds in real time, calculates Expected Value, and sends alerts when it finds +EV opportunities.
Sports betting is a market driven by margins. Bookmakers set odds to guarantee profit on their side. For bettors, the challenge isn't picking winners — it's finding mispriced odds where the implied probability is lower than the real probability of an outcome.
This gap is called Expected Value (+EV). Positive EV means a bet has a mathematical edge over the bookmaker's line. The problem: spotting these edges manually across dozens of markets, hundreds of events, and constantly shifting odds is practically impossible.
Where p is the estimated true probability of the outcome. A positive result means edge over the bookmaker. The higher the number, the stronger the mispricing.
Most bettors rely on gut feeling. The ones who don't rely on expensive tools or closed communities. I wanted to build something accessible, automated, and fast.
An automated pipeline that turns raw odds data into actionable alerts — delivered straight to Telegram.
Connects to a sports odds API and continuously tracks line movements across multiple bookmakers and events.
Compares odds against a reference sharp line to compute whether a bet has positive expected value, filtering noise from signal.
When a +EV opportunity is detected, the bot pushes a formatted alert to a Telegram channel with event details, odds, and EV percentage.
Users can set minimum EV percentage, preferred sports, and bookmaker filters to receive only relevant alerts.
Fetches live odds from multiple bookmakers via sports data API
Compares lines, computes implied probability, flags +EV edges
Sends formatted message with event, odds, bookmaker, and EV %
Betting companies live and die by their odds accuracy. Understanding how +EV is detected from the outside reveals how pricing gaps form — knowledge that's directly useful for trading desks and risk teams.
Building this bot required understanding implied probability, bookmaker margins, line movement, and sharp vs. soft lines. Not just code — the betting domain itself.
The same pipeline logic powers internal tools at betting operators: monitoring, alerting, risk flagging. This project shows the ability to think in systems, not just screens.
What I decided vs. what the AI coded — a clear split of responsibilities
AI Code Editor as Co-pilot
The AI handled the implementation: connecting to the odds API, building the EV calculation engine, formatting Telegram messages, and setting up the scheduling logic. I reviewed every decision, iterated on output quality, and directed the architecture toward a clean, maintainable pipeline.
A lean architecture built to monitor odds, calculate expected value and deliver actionable alerts with low operational cost.
The bot consumes sports odds through OpenBet, focusing on football markets and continuous updates. This layer is responsible for fetching, organizing and normalizing the incoming data before any decision logic runs.
A lightweight rules engine evaluates each market, estimates expected value (+EV) and applies configurable thresholds to avoid noisy signals. Instead of exposing raw odds, it filters for opportunities that are worth surfacing.
When a market matches the configured criteria, the system sends a structured alert to Telegram with the key context needed for quick reading. This turns background monitoring into an immediate and usable notification flow.
The MVP was built with Python, FastAPI, Telegram Bot API and SQLite, prioritizing simplicity, maintainability and near-zero cost. It is designed as a compact product experiment that can run continuously without heavy infrastructure.
This isn't a concept or a prototype. The bot runs, connects to real APIs, calculates real EV, and delivers real alerts to a Telegram channel. End to end.
Building this required learning how bookmaker margins work, what sharp lines mean, and how implied probability translates to betting edge. The value is in the understanding, not the UI.
The AI wrote code faster than I could. But it couldn't decide what problem to solve, which data to trust, or how to scope the MVP. That's still a human job.
Knowing what you're not building is as important as knowing what you are.
Markets are limited to football — Brasileirão, Premier League, La Liga. Tennis, basketball, and other sports are out of scope for this version.
The bot monitors pre-match odds. Live betting markets — where edges shift in seconds — require a different architecture and much lower latency.
EV is calculated against one sharp line, not a consensus of books. A multi-source reference would reduce false positives but adds cost and complexity.
This is an alerting tool, not a high-frequency scanner. Designed for manual follow-up — not automated bet placement or cross-book arbitrage.
The bot is running. Source code is private - available upon request for hiring contexts.
Interested in how a product designer builds functional tools for the betting industry?