FTC · Alliance selection
FTC Team 19859 · English and Chinese

Scout
Select.

Three minutes to choose your finals partners, and a score table that can mislead you. ScoutSelect shows which robots are really worth picking.

2000
Simulated matches per alliance
3 min
The selection window it was built for
2
Undervalued teams found at California Invitational 2025
GitHub
Public code
Area
FTC
Built for
FTC Team 19859
Status
Public repo
Stack
Next.js 15 · TypeScript · React 19 · Tailwind CSS v4 · GraphQL
What it is

What it
is.

At an FTC event, the top teams get about three minutes to choose the two robots they will play the finals with. Most teams pick by sorting the score table, but a team's score also includes whatever its partners did, so the table can point you at the wrong robot.

ScoutSelect reads the live results, works out how much each robot really contributes on its own, and shows the captain who is worth picking. At California Invitational 2025 it flagged two teams whose scores undersold them, and those picks were part of the Champion Alliance run that made FTC Team 19859 the first Chinese team to reach Champion Alliance there.

How it works

How it
works.

Separate each robot from its partners

It solves the whole table of match results together, so every team gets its own score instead of its alliance's total.

Steady the early numbers

Early in an event a team may have played only six matches. ScoutSelect pulls extreme numbers toward the average until there is enough data to trust them.

Play the finals before they happen

For each possible alliance it simulates the match 2,000 times and reports a chance of winning, not a single guess.

Interactive Demo

Try the
Engine.

Live mock simulation: same algorithms, fake teams. Regenerates every 12 seconds. This is what runs on the competition floor.

LIVE
Initialising…
↺ 12s
Your Rank
#4
Team 19859
Pick Pool
-
available picks
Win Prob
-
vs rank #1
Score σ
-
pts std dev
Simulations
2,000
Monte Carlo
Alliance Role Detection Top 8 by Bayesian OPR
RankTeamOPRRole AutoTeleopEG
Smart Pick Optimizer For rank #4
Win Probability Engine 2,000 iterations
vs Rank #1 Alliance
-
Monte Carlo Score Distribution · 2,000 simulations Win ▶ | ◀ Loss
Snake Draft Board Alliance selection order · 4 alliances
Round 1: Captain picks in rank order
Round 2: Snake reverses
Initialising draft board…
What I learned

What I
learned.

Fast and right, or it does not count

You cannot explain statistics to a teammate during a three-minute clock. The tool has to produce the right answer straight away, so making it fast and clear mattered as much as the maths.

Start from the problem, not the technique

Every part exists because sorting by score failed in a specific way: scores mix in partners, small samples are noisy, and a single guess hides risk. I only added a method when a real problem demanded it.