Computed from every play, garbage time excluded. FBS rank among players with enough volume
| Defense | Value | FBS rank |
|---|---|---|
| Havoc plays | 8 | 52nd / 2575 |
| Tackles for loss | 7 | 33rd / 1913 |
| Run stops | 25 | 31st / 3263 |
| Sacks | 3 | — |
| Pass breakups | 1 | — |
| Interceptions | 0 | — |
| Forced fumbles | 0 | — |
| Tackles | 34 | — |
Where Thomas's plays went: throw and catch spots, air yards and yards after the catch, read from the play-by-play
The play-by-play names the defender on breakups, interceptions and tackles, but not the man in coverage on every throw, so true times-targeted isn't in the text. Coverage plays is the closest stand-in; exact targets come from hand charting.
5 seasons at 3 schools since 2014 · box-score totals, snap share estimated from play-by-play
| Season | Team | G | Snaps | Tkl | TFL | Sacks | INT | PD | Havoc |
|---|---|---|---|---|---|---|---|---|---|
| 2026 so far | Georgia Tech#67 · 2-4 | 6 | 65% | 37 | 7.5 | 2.5 | 0 | 1 | 8 |
| 2025 | Colorado#86 · 3-9 | 4 | 17% | 12 | 1.5 | 0 | 0 | 0 | 1 |
| 2024 | Colorado#33 · 9-4 | 9 | 18% | 18 | 2.5 | 1 | 0 | 1 | 2 |
| 2023 | Louisville#23 · 10-4 | 2 | 2% | 2 | 0 | 0 | 0 | 0 | 0 |
| 2022 * | Louisville#20 · 8-5 | 4 | 11% | 4 | — | — | 0 | — | 0 |
Past seasons are summed from ESPN box scores; success rates and snap shares come from the play-by-play. Tawfiq Thomas's team rank is that season's final TDC rank. A dash means the stat wasn't recorded. * Defense rebuilt from the play-by-play (ESPN's box scores that season are missing it); about 10% below official totals.
Tawfiq Thomas's box score, game by game, from ESPN, with a 0–10 game score for each (hover it for how it works). Click a result for the full game
FBS rank among qualifying players
| Defense | 2026 | FBS rank |
|---|---|---|
| Tackles | 37 | 258th / 5410 |
| Solo | 19 | — |
| Tackles for loss | 7.5 | 33rd / 2452 |
| Sacks | 2.5 | 150th / 1213 |
| QB hurries | 2 | 302nd / 1382 |
| Passes defended | 1 | 707th / 1591 |
| Defensive TD | 0 | — |
Estimated snaps from a model trained on real NFL snap counts. Ranges in brackets are where the real number lands 80% of the time: wide for a single game, tighter over the season. How it works
| Game | Start | Opp. plays | Est. snaps | Plays made | Snap share |
|---|---|---|---|---|---|
| Wk 1 · Colorado | — | 75 | ~47 (23–59) | 7 | 63% |
| Wk 2 · Tennessee | — | 66 | ~48 (24–60) | 8 | 73% |
| Wk 3 · Mercer | ✓ DT | 60 | ~39 (15–60) | 6 | 65% |
| Wk 4 · Stanford | ✓ DT | 72 | ~41 (20–52) | 5 | 57% |
| Wk 6 · Duke | — | 76 | ~57 (28–72) | 7 | 75% |
| Wk 7 · Virginia Tech | — | 63 | ~34 (13–54) | 5 | 54% |
| Season | 2 GS | 412 | 266 (255–352) | 38 | 65% |
18 DLs on the Georgia Tech roster, ordered by tkl
| # | Player | Pos | Class | Tkl | TFL | Sacks | INT | PD |
|---|---|---|---|---|---|---|---|---|
| 95 | Tawfiq Thomas | DT | SR | 37 | 7.5 | 2.5 | — | 1 |
| 41 | Taje McCoy | DE | SR | 36 | 5 | 2 | — | 1 |
| 99 | Vincent Carroll-Jackson | DT | SR | 19 | 2 | 0 | — | 2 |
| 24 | Noah Carter | DE | JR | 12 | 4.5 | 3 | — | 0 |
| 11 | Brayden Manley | DE | SR | 11 | 0 | 0 | — | 1 |
| 92 | Christian Speakman | DT | FR | 10 | 0.5 | 0.5 | — | 0 |
| 8 | Jordan Boyd | DE | JR | 5 | 1 | 0 | — | 0 |
| 9 | Amontrae Bradford | DE | JR | 5 | 0.5 | 0 | — | 0 |
| 91 | Andre Fuller Jr. | DE | SO | 3 | 0 | 0 | — | 0 |
| 96 | Shymeik Jones | DT | SR | 3 | 1 | 0 | — | 0 |
| Jordan Walker | DE | 3 | 0 | 0 | — | 0 | ||
| 55 | Christian Garrett | DT | SO | 2 | 0 | 0 | — | 0 |
| 88 | A.J. Hoffler | DE | SR | 2 | 0 | 0 | — | 0 |
| 98 | Amier Clarke | DT | FR | 2 | 0 | 0 | — | 0 |
| 94 | Derry Norris Jr. | DT | SO | 1 | 0 | 0 | — | 0 |
| 97 | Landen Marshall | DT | JR | 1 | 0 | 0 | — | 0 |
| 56 | Tim Griffin | DT | SO | — | — | — | — | — |
| 93 | Drew Cohen | DE | JR | — | — | — | — | — |
Stats, EPA and usage come from CollegeFootballData.com and refresh daily. FBS ranks only count players with enough volume for the stat to mean something. Qualifying for EPA takes —+ plays per team game. Georgia Tech depth chart →