Experiment

Equestrian data intelligence tool

HorseScanner

An equestrian data intelligence tool that turns messy competition pages into structured results, horse profiles, rider links, owner signals, and parser quality loops.

equestriandataparser

HorseScanner

Data tool

Equestrian intelligence

Messy pages. Useful signal.

I started building a tool that turns scattered equestrian competition results into structured data you can actually search, compare and reason with over time.

HorseScanner admin dashboard with parser controls and recent competition imports.

Signals

Young horsesRidersOwnersBreedersStudbooksClass heightsFaultsTimes
HorseScanner mobile admin view for checking imports and parser status.

Horse people have a funny relationship with data.

They will know a horse's father, mother, breeder, rider, owner, height, results, temperament, injury history, whether it looked sharp in the warm-up, and probably what kind of mood the seller was in that morning.

But somehow all the actual competition data still lives scattered across result pages that feel like they were built during the Nokia era.

Conversations about young horses, results, riders, owners, bloodlines, shows, countries, prices, potential, risk and timing all depend on little signals. The useful information exists online. The problem is that it is scattered all over the place.

Input

Paste a show. Get a model.

A normal result page tells you what happened at one show. HorseScanner tries to make those results useful over time.

HorseScanner import screen for parsing competition result URLs.

Enough data to make better decisions, but not in a shape that helps you think.

Horse show result pages. Tables. Popovers. PDFs sometimes. Weird formats. Different countries. Different systems. Different ways of writing the same thing. A result here, a rider there, a horse name that appears slightly different somewhere else.

The idea is simple: turn messy online equestrian competition pages into structured, searchable intelligence.

Events, venues, classes, heights, dates, riders, countries, horses, studbooks, sex, color, birth year, pedigree, breeders, owners, results, ranks, faults, times, prize money and source links. All the things you would normally piece together manually while slowly losing your will to live.

01

Which young horses keep jumping clear rounds?

02

Which riders are connected to which owners?

03

Where do certain studbooks show up?

04

Which results are signal, and which are noise?

Explorer

Horse data is relationship data.

EventsClassesSourcesResultsHorsesRidersOwnersParties
HorseScanner results explorer showing normalized competition result rows.
HorseScanner horse explorer with structured horse records and filters.
HorseScanner owner explorer connecting owners to horses and results.

A result is not just a result.

It connects a horse to a rider, a class, an event, a country, an owner, a breeder, and sometimes a much bigger story. That is why the system has separate objects for events, classes, riders, horses, sources, results, observations, owners, breeders and parties.

The interface follows the work. Paste a competition URL and parse it. Browse normalized data. Filter by horse, owner, rider, studbook, birth year, date range, class height, status, zero-fault rounds and top rankings. Drill into a horse. Jump to an owner. Follow the source back to the original result page.

That source link matters. The product should never ask you to blindly trust the machine. It should show its work.

Quality loop

Be curious, not reckless.

AI helps move through ambiguity. Once the path is known, the parser needs deterministic logic, fixtures and checks.

HorseScanner parser debug view comparing Equipe result data and extracted rows.
HorseScanner aggregate debug view for checking parser and data quality.

The first temptation was obvious: just let AI extract everything.

Very 2026. Very seductive. Very one more prompt and we are done. Hahahaha. Sure.

Then the real world shows up with rowspans, colspans, jump-off phases, empty cells, retired statuses, withdrawn statuses, weird country codes, horse popovers, FEI codes, class categories, European prize formats, US prize formats, seconds, minutes, centiseconds and invisible characters that make you question your life choices.

So the system evolved. AI is useful for exploring ambiguity and validating output, but the important paths are being hardened into deterministic parsing and testable logic. AI helps you move faster through the fog, but once you know the path, you still want solid ground.

Software as a way to ask why this is still so messy.

What I like about HorseScanner is that it sits exactly where I think software is becoming more fun again. Not software as some abstract SaaS idea. Software as a way to look at your own life, your own work, your own weird industry, and ask: wait, why is this still so messy?

Maybe the first version is ugly. Maybe the parser breaks. Maybe the data model needs to change. Maybe AI gets you 60% there and then confidently lies about the rest. Fine. That is the process.

This is the good kind of vibe coding. Not outsourcing taste to a model, but using new tools to follow a real problem deeper than you normally would.

HorseScanner is about equestrian competition data, obviously. But really it is about turning a small, specific, overlooked mess into something you can think with.