Bio
Fair Market Value
Stats
2025
- Passer Rating
-
129.3
150th of 390 QBs
- Passing Yards
-
1984
61st of 396 QBs
- Passing Touchdowns
-
13
61st of 396 QBs
- Interceptions
-
5
89th of 396 QBs
- Completion%
-
55%
254th of 390 QBs
- Yards per Attempt
-
7.4
111th of 390 QBs
- Completions
-
147
81st of 396 QBs
- Passing Attempts
-
268
67th of 396 QBs
- Rushing Yards
-
-82
387th of 394 QBs
- Rushing Touchdowns
-
0
208th of 394 QBs
Career Stats
| SEASON | SCHOOL |
{
const tt = $el.querySelector('[data-tooltip-box]');
if (tt) {
const tr = tt.getBoundingClientRect();
const pad = 8;
if (tr.right > window.innerWidth - pad) nudge.x = window.innerWidth - pad - tr.right;
if (tr.left < pad) nudge.x = pad - tr.left;
}
});
"
@mouseleave="open = false">
G
Games Played
|
{
const tt = $el.querySelector('[data-tooltip-box]');
if (tt) {
const tr = tt.getBoundingClientRect();
const pad = 8;
if (tr.right > window.innerWidth - pad) nudge.x = window.innerWidth - pad - tr.right;
if (tr.left < pad) nudge.x = pad - tr.left;
}
});
"
@mouseleave="open = false">
COMP%
Completion Percentage
|
{
const tt = $el.querySelector('[data-tooltip-box]');
if (tt) {
const tr = tt.getBoundingClientRect();
const pad = 8;
if (tr.right > window.innerWidth - pad) nudge.x = window.innerWidth - pad - tr.right;
if (tr.left < pad) nudge.x = pad - tr.left;
}
});
"
@mouseleave="open = false">
YDS
Passing Yards
|
{
const tt = $el.querySelector('[data-tooltip-box]');
if (tt) {
const tr = tt.getBoundingClientRect();
const pad = 8;
if (tr.right > window.innerWidth - pad) nudge.x = window.innerWidth - pad - tr.right;
if (tr.left < pad) nudge.x = pad - tr.left;
}
});
"
@mouseleave="open = false">
TD
Passing Touchdowns
|
{
const tt = $el.querySelector('[data-tooltip-box]');
if (tt) {
const tr = tt.getBoundingClientRect();
const pad = 8;
if (tr.right > window.innerWidth - pad) nudge.x = window.innerWidth - pad - tr.right;
if (tr.left < pad) nudge.x = pad - tr.left;
}
});
"
@mouseleave="open = false">
INT
Interceptions Thrown
|
{
const tt = $el.querySelector('[data-tooltip-box]');
if (tt) {
const tr = tt.getBoundingClientRect();
const pad = 8;
if (tr.right > window.innerWidth - pad) nudge.x = window.innerWidth - pad - tr.right;
if (tr.left < pad) nudge.x = pad - tr.left;
}
});
"
@mouseleave="open = false">
RTG
Passer Rating
|
|---|---|---|---|---|---|---|---|
| 2022 |
{
const tt = $el.querySelector('[data-tooltip-box]');
if (tt) {
const tr = tt.getBoundingClientRect();
const pad = 8;
if (tr.right > window.innerWidth - pad) nudge.x = window.innerWidth - pad - tr.right;
if (tr.left < pad) nudge.x = pad - tr.left;
}
});
"
@mouseleave="open = false">
VMI Keydets
|
3 | 62% | 182 | 0 | 2 | 101.0 |
| 2023 |
{
const tt = $el.querySelector('[data-tooltip-box]');
if (tt) {
const tr = tt.getBoundingClientRect();
const pad = 8;
if (tr.right > window.innerWidth - pad) nudge.x = window.innerWidth - pad - tr.right;
if (tr.left < pad) nudge.x = pad - tr.left;
}
});
"
@mouseleave="open = false">
VMI Keydets
|
4 | 56% | 579 | 2 | 3 | 108.8 |
| 2024 |
{
const tt = $el.querySelector('[data-tooltip-box]');
if (tt) {
const tr = tt.getBoundingClientRect();
const pad = 8;
if (tr.right > window.innerWidth - pad) nudge.x = window.innerWidth - pad - tr.right;
if (tr.left < pad) nudge.x = pad - tr.left;
}
});
"
@mouseleave="open = false">
VMI Keydets
|
2 | 57% | 191 | 0 | 2 | 80.5 |
| 2025 |
{
const tt = $el.querySelector('[data-tooltip-box]');
if (tt) {
const tr = tt.getBoundingClientRect();
const pad = 8;
if (tr.right > window.innerWidth - pad) nudge.x = window.innerWidth - pad - tr.right;
if (tr.left < pad) nudge.x = pad - tr.left;
}
});
"
@mouseleave="open = false">
VMI Keydets
|
9 | 55% | 1984 | 13 | 5 | 129.3 |
| CAREER | 18 | 56% | 2936 | 15 | 12 | 117.4 |