03 · Case study
OddsTracker
Sports analysis software that sweeps every football match of the day, runs filters and criteria over the history, and delivers the best opportunities with the charts behind each one.
An ordinary football day has hundreds of matches across dozens of competitions. To find the few worth attention, you have to open them one by one, look at both teams' history, check averages, head-to-head records and the current odds. It takes hours, and by the time you are done the first match has already started. So nobody really covers everything: you analyse what is in front of you, and the good opportunity stays in the league nobody opened.
Then there is the problem of the criteria. Done by hand, they change from one day to the next and never get written down anywhere. Without that record, there is no way to tell later whether the pattern actually works or whether one call just got lucky.
- Query the data API at analysis time, one match at a time.
- A single score that ranks the matches and says where to bet.
- A dashboard with a login for each client to check whenever they want.
- A scheduled job that pulls every match of the day at once and stores it all in MongoDB. The API bills per request and the same data feeds several criteria, so collecting once lets me cross as many filters as I need without blowing the quota.
- Separate criteria, and every opportunity comes with the chart that justifies it. A closed score hides the reasoning; showing the pattern that got the match through the filter lets the client decide from what is on screen.
- The finished analysis drops straight into the Discord server, charts and all. The odds move and the match starts, so the analysis has to reach the client where they already are, not in a panel they might forget to open.
Now the whole day of fixtures gets swept automatically. The criteria are always the same, and whatever gets through the filters reaches the clients on Discord ready to read, with chart and explanation. Beyond the time it saves, it gained consistency: because every filter is written down and every day is stored in the database, a criterion can be tested against the history instead of against memory.
The opportunity as it arrives: match, competition, the bet that got through the filter, average odds and stake — and the button that opens the full analysis behind it. The full analysis for "both teams to score": a technical summary written by AI, the percentage the criteria produced, and each side's expected goals right below it. The same reading for the final result, all the way to the chart: goals scored and conceded, the head-to-head record, and the radar that puts the two teams side by side across five indicators.