← Back home

2026.06 / build log

RaceEdge: Building a Transparent UK & Ireland Racing Research App

RaceEdge is one of the apps I have been building and testing on this VPS. The idea is simple: take real UK and Ireland racing data, score runners with an explainable model, and show the reasoning clearly instead of pretending a black-box AI can magically pick winners.

It is deliberately a research and decision-support tool. Horse racing involves risk, and RaceEdge is designed to make the assumptions visible: what data was used, why a horse scored well, what the confidence level is, and where the warnings are.

This is not financial advice or a promise of profit. RaceEdge is a software experiment in transparent racing research, paper tracking, bankroll discipline, and evidence-led model building.

What the live app does today

The current live version at raceedge.uk is a Next.js app deployed through Coolify from a private GitHub repository. Coolify reports it as running healthy, exposed on port 3000, and served publicly at the RaceEdge domain.

On the homepage, the app shows a daily dashboard for UK and Ireland racing:

The principle: no fake fallback

One of the most important product decisions is that RaceEdge should not silently swap in fake runners if the real data source fails. If the scraper breaks, an upstream site changes, or a dependency is missing, the app should show an error.

That sounds small, but it matters. A racing app that quietly substitutes mock data can look like it is working while producing meaningless output. RaceEdge is meant to be boringly honest: real data or a visible failure.

Real racecards
  ↓
Transparent runner scoring
  ↓
Ranked tips with reasons
  ↓
Risk warnings and paper tracking
  ↓
Research evidence before any live promotion

The data layer

The MVP has two practical data paths:

The current live dashboard is using the Racing Post free scraper route. The scraper is kept behind a data-source interface so the rest of the app can work with the same race and runner objects whether the source is free scraping, a paid API, or a future licensed historical feed.

The scoring model

RaceEdge does not claim to have a trained ML model before the evidence exists. The current model is a transparent weighted scorer that breaks each selection into visible factors.

Examples of the factors shown in the UI include:

Each tip card then shows a composite score, confidence label, risk label, factor breakdowns, and reasoning. This makes the app feel more like a research dashboard than a “trust me” tipster.

The starting strategy

The preferred starting strategy is intentionally narrow. RaceEdge focuses on UK and Ireland handicaps, with a bias toward class 3–5 races and fields around 8–12 runners.

The first strategy rules look for patterns such as:

The point is not to make the model complicated. The point is to keep the first version inspectable, testable, and easy to challenge.

Bankroll, paper tracking, and research modes

RaceEdge also has pages beyond the daily tips screen. The navigation includes Dashboard, Races, Tips, Bankroll, Paper, Research, Performance, History, and Strategy.

The bankroll page lets a user enter an available bank and see staking suggestions with guardrails. It supports multiple modes, including backing RaceEdge tips, paper-testing false-favourite lays, and tracking alternative place-style ideas. Overrides above the suggested risk percentage are labelled aggressive with drawdown warnings.

The paper tracking system is a big part of the app. Instead of jumping straight from a backtest to real stakes, RaceEdge can capture daily paper signals, settle them later, and keep separate evidence streams for different hypotheses.

Daily racecards
  ↓
Generate tips
  ↓
Capture paper signals
  ↓
Capture available Exchange prices
  ↓
Settle against results
  ↓
Review evidence before changing the strategy

What I have been testing on the VPS

The VPS has been useful because the app can run like a real product instead of a local demo. The current deployment flow is:

That loop is exactly why I like this VPS setup. I can ask an agent from Telegram to inspect the app, read the repository, check the deployment, run tests, and verify the public URL. It turns a rough product idea into something that can actually be exercised in production.

Historical backtests and the reality check

RaceEdge has also been moving toward serious historical validation. The repository includes scripts for importing historical datasets, running baseline strategy reports, testing model grids, and validating false-favourite ideas against Betfair BSP-style data.

The most important lesson so far is that broad racing strategies are easy to make look good in a narrow slice and hard to make robust across years, price sources, and realistic assumptions. RaceEdge therefore keeps research labels explicit:

The product I want RaceEdge to become

The long-term version of RaceEdge is not just a tip list. It is a transparent racing research workbench: daily cards, scored runners, strategy configuration, bankroll discipline, historical validation, paper tracking, Exchange price evidence, and eventually carefully validated ML models.

The roadmap points toward:

Why I like this build

RaceEdge is a good example of the kind of app this VPS workflow makes possible. It is not just a landing page or toy demo. It has a real domain, a real deployment, a real data source, a database-backed research layer, and enough moving parts to force honest engineering decisions.

The most useful constraint is transparency. Every time the app makes a claim, I want it to show the ingredients: the score, the factors, the warning signs, and the evidence status. That is the difference between a flashy AI prediction app and a tool I can actually learn from.

You can see the live app here: raceedge.uk.