Two drafts out · published July 2026
The 2028 way-too-early board.
Two Augusts from now, most of this list will be wrong. We publish it anyway, because the way-too-early board is where every draft argument starts — and nobody else shows you the uncertainty. No analyst has ranked this class. No one has run a 40. Most of these players have not taken a college snap. What honestly exists is the high school recruiting composite, the strength of the program each player signed with, and — for a handful — a freshman season. So that is the whole board: those signals, in the open, with the range each rank swings across defensible weightings printed next to it.
This is not the Draftanomics model. Our model needs consensus boards, measurements, and college production to say anything worth trusting — for 2028 it has none of the three, and we checked: its output on this class is noise. Ranking by noise and calling it a model would be fake precision. The composite is the honest signal, so the composite gets the byline.
What drives every rank
- Recruiting composite — the 247-style national recruiting rating, printed on a 0-100 scale in the table; it sets the order. Present for all 1,866 players.
- Program talent — the school's roster-talent index (2025 season). It breaks composite ties and drives the rank range.
- Early production — freshman-season per-play impact, when a played season is on file. Currently on file for 243 of 1,866.
What's missing — and why the ranges are wide
- Analyst consensus: zero boards cover this class yet.
- Measurements: nobody has run a 40 for scouts yet — the composite is carrying that weight.
- Film that matters: the class is the high school class of 2025 — true sophomores this fall. Their draft-relevant seasons have not been played.
- Declarations: anyone in the 2027 pool belongs to the 2027 conversation and is excluded here; if they stay in school, they join this board next spring.
Read the rank range first. It is the span of ranks a player takes when program strength is allowed 10–40% of the weight instead of only breaking ties. A tight range means every reasonable weighting agrees on him; a wide one means the argument is real.
| # | Player | Rank range | Recruit grade | Program | Yr-1 impact |
|---|---|---|---|---|---|
| Bryce Underwood★★★★★ | #undefined | 100.0 | Loaded | early flashes | |
| Keelon Russell★★★★★ | #undefined | 100.0 | Powerhouse | already producing | |
| Tavien St. Clair★★★★★ | #undefined | 99.7 | Powerhouse | quiet debut | |
| Husan Longstreet★★★★★ | #undefined | 98.7 | Loaded | already producing | |
| Deuce Knight★★★★★ | #undefined | 98.6 | Solid | already producing | |
| Julian Lewis★★★★ | #undefined | 97.6 | Solid | quiet debut | |
| Jaron-Keawe Sagapolutele★★★★ | #undefined | 96.6 | Solid | hasn’t played yet | |
| Bryce Baker★★★★ | #undefined | 95.5 | Solid | hasn’t played yet | |
| Matt Zollers★★★★ | #undefined | 95.3 | Solid | quiet debut | |
| Kamario Taylor★★★★ | #undefined | 94.4 | Solid | early flashes | |
| Ryan Montgomery★★★★ | #undefined | 94.1 | Powerhouse | already producing | |
| George MacIntyre★★★★ | #undefined | 93.5 | Loaded | already producing | |
| Karle Lacey Jr.★★★★ | #undefined | 93.4 | Powerhouse | early flashes | |
| AJ Hill★★★★ | #undefined | 92.7 | Solid | early flashes | |
| Akili Smith Jr.★★★★ | #undefined | 92.6 | Loaded | hasn’t played yet | |
| Brady Hart★★★★ | #undefined | 92.5 | Loaded | early flashes | |
| Adam Schobel★★★★ | #undefined | 92.1 | Solid | hasn’t played yet | |
| Luke Nickel★★★★ | #undefined | 91.7 | Loaded | quiet debut | |
| TJ Lateef★★★★ | #undefined | 91.6 | Solid | early flashes | |
| Tramell Jones Jr.★★★★ | #undefined | 91.5 | Loaded | early flashes | |
| Madden Iamaleava★★★★ | #undefined | 91.0 | Solid | hasn’t played yet | |
| Ty Hawkins★★★★ | #undefined | 90.9 | Solid | already producing | |
| Carter Smith★★★★ | #undefined | 90.7 | Solid | quiet debut | |
| Alex Manske★★★★ | #undefined | 90.5 | Loaded | already producing | |
| Blake Hebert★★★★ | #undefined | 89.7 | Loaded | hasn’t played yet | |
| Kevin Sperry★★★★ | #undefined | 89.4 | Solid | already producing | |
| Bear Bachmeier★★★★ | #undefined | 89.3 | Building | hasn’t played yet | |
| Jackson Kollock★★★★ | #undefined | 89.2 | — | hasn’t played yet | |
| Lloyd Jones III★★★★ | #undefined | 89.1 | Solid | already producing | |
| Tristan Ti'a★★★ | #undefined | 88.8 | Loaded | hasn’t played yet | |
| Robert McDaniel★★★ | #undefined | 88.8 | Building | hasn’t played yet | |
| Grayson Wilson★★★ | #undefined | 88.8 | Building | hasn’t played yet | |
| Dash Beierly★★★ | #undefined | 88.5 | Solid | hasn’t played yet | |
| Chris Denson★★★ | #undefined | 88.1 | Loaded | already producing | |
| Will Wilson★★★ | #undefined | 88.1 | Solid | already producing | |
| Bjorn Jurgensen★★★ | #undefined | 88.0 | Building | hasn’t played yet | |
| Dan Mahan★★★ | #undefined | 87.4 | Building | hasn’t played yet | |
| Scotty Fox Jr.★★★ | #undefined | 86.9 | Building | early flashes | |
| Owen Eshelman★★★ | #undefined | 86.7 | Building | hasn’t played yet | |
| Brennen Ward★★★ | #undefined | 86.6 | Solid | quiet debut | |
| Michael Tollefson★★★ | #undefined | 86.6 | Solid | hasn’t played yet | |
| Shaker Reisig★★★ | #undefined | 86.6 | Building | quiet debut | |
| Max Gerlich★★★ | #undefined | 86.6 | Building | hasn’t played yet | |
| Nolan Keeney★★★ | #undefined | 86.6 | Building | hasn’t played yet | |
| Zebulin Kinsey★★★ | #undefined | 86.6 | Building | hasn’t played yet | |
| Kelden Ryan★★★ | #undefined | 86.6 | Solid | hasn’t played yet | |
| Jack Elliott★★★ | #undefined | 86.5 | Building | hasn’t played yet | |
| Jaylen Patterson★★★ | #undefined | 86.4 | — | hasn’t played yet | |
| Marcus Romain★★★ | #undefined | 86.1 | Building | hasn’t played yet | |
| Jack Moran★★★ | #undefined | 86.1 | Building | hasn’t played yet | |
| Jimmy Sullivan★★★ | #undefined | 86.1 | Solid | hasn’t played yet | |
| Charlie Johnston★★★ | #undefined | 86.0 | Building | hasn’t played yet | |
| Jett Niu★★★ | #undefined | 85.9 | Loaded | hasn’t played yet | |
| Luke Carney★★★ | #undefined | 85.8 | Building | hasn’t played yet | |
| Sean Ashenfelder★★★ | #undefined | 85.7 | Building | already producing | |
| Luke Haugo★★★ | #undefined | 85.7 | Building | hasn’t played yet | |
| JT Kitna★★★ | #undefined | 85.7 | — | hasn’t played yet | |
| Colton Gumino★★★ | #undefined | 85.7 | Solid | hasn’t played yet | |
| Eli Morcos★★★ | #undefined | 85.7 | Loaded | hasn’t played yet | |
| Ryan Fitzgerald★★★ | #undefined | 85.5 | Solid | hasn’t played yet | |
| Rich Belin★★★ | #undefined | 85.4 | Solid | hasn’t played yet | |
| Steele Pizzella★★★ | #undefined | 85.3 | Building | quiet debut | |
| Carter Jones★★★ | #undefined | 85.3 | Building | early flashes | |
| Ksaan Farrar★★★ | #undefined | 85.3 | Building | quiet debut | |
| JP Mialovski★★★ | #undefined | 85.3 | Building | hasn’t played yet | |
| Deante Ruffin★★★ | #undefined | 85.1 | Building | quiet debut | |
| Noah Ehrlich★★★ | #undefined | 85.0 | Building | hasn’t played yet | |
| Tyrell Lewis★★★ | #undefined | 85.0 | Building | hasn’t played yet | |
| Jay Beamon★★★ | #undefined | 84.8 | Building | hasn’t played yet | |
| Chad Warner★★★ | #undefined | 84.7 | Building | hasn’t played yet | |
| Jax Brown★★★ | #undefined | 84.7 | — | hasn’t played yet | |
| Jason Wright★★★ | #undefined | 84.5 | Building | quiet debut | |
| Tama Amisone★★★ | #undefined | 84.5 | Building | early flashes | |
| Christian Langford★★★ | #undefined | 84.4 | Building | quiet debut | |
| Denzel Gardner★★★ | #undefined | 84.3 | Building | hasn’t played yet | |
| Silas Corder★★★ | #undefined | 84.2 | — | hasn’t played yet | |
| John Gazzaniga★★★ | #undefined | 84.2 | Powerhouse | quiet debut | |
| Jaystin Gwinn★★★ | #undefined | 84.2 | Powerhouse | hasn’t played yet | |
| Bryson Kimbrough★★★ | #undefined | 84.0 | Building | hasn’t played yet | |
| Noah Gillon★★★ | #undefined | 84.0 | Building | quiet debut | |
| Jordan Magwood★★★ | #undefined | 84.0 | Building | already producing | |
| Jackson Bradley★★★ | #undefined | 83.9 | Building | hasn’t played yet | |
| Dalton Anderson★★★ | #undefined | 83.9 | — | hasn’t played yet | |
| Stanley Anderson-Lofton★★★ | #undefined | 83.9 | Building | quiet debut | |
| Chaston Ditta★★★ | #undefined | 83.9 | Building | quiet debut | |
| Ryan Huff★★★ | #undefined | 83.9 | Building | quiet debut | |
| Brayden Turner★★★ | #undefined | 83.9 | — | hasn’t played yet | |
| Jackson Hamilton★★★ | #undefined | 83.8 | Building | hasn’t played yet | |
| Bryce Button★★★ | #undefined | 83.8 | Building | hasn’t played yet | |
| Hype Grand★★★ | #undefined | 83.8 | Building | hasn’t played yet | |
| Kalen Fisher★★★ | #undefined | 83.7 | Building | hasn’t played yet | |
| Jacob Bell★★★ | #undefined | 83.6 | Building | hasn’t played yet | |
| Walter Moses★★★ | #undefined | 83.6 | Building | hasn’t played yet | |
| TJ Stanley★★★ | #undefined | 83.6 | Building | hasn’t played yet | |
| Jonathan Craft★★★ | #undefined | 83.6 | Building | hasn’t played yet | |
| Cibastian Broughton★★★ | #undefined | 83.6 | Building | hasn’t played yet | |
| Gavin Parkhurst★★★ | #undefined | 83.6 | Building | hasn’t played yet | |
| Carsen Melvin★★★ | #undefined | 83.6 | Building | hasn’t played yet | |
| Khalel Wright★★★ | #undefined | 83.5 | Building | hasn’t played yet | |
| Zach Lawrence★★★ | #undefined | 83.4 | Building | hasn’t played yet |
How the order is set: recruiting composite, descending. Where composites tie — and below the five-star line they tie constantly — the program-talent index, then freshman production, breaks the tie. The rank range is not a confidence interval; it is the span of ranks a player takes when program strength is allowed 10-40% of the weight instead of only breaking ties. A tight range means every reasonable weighting agrees; a wide one means the argument is real.
Who is in the pool: the 1,866 players who are first draft-eligible in 2028 — the high school class of 2025. Anyone already in the 2027 candidate pool is excluded, because a 2028 board headlined by this cycle's stars would be a 2027 board wearing a costume.
Once the fall season is in the books, freshman production joins the board automatically; when the first 2028 analyst boards appear (late next summer), this page retires in favor of a real 2028 class hub — the way /year/2027 covers the live cycle today. Until then: arguments, honestly labeled. See methodology for what the model does once real signals exist.