THE COMPLETE RECORD
This profile is part of the recursive Fight Atlas graph. Open any opponent below to load that athlete’s complete professional career, then continue through every linked opponent without returning to a third-party record page.
EVERY RECORDED BOUT
Complete professional fight history, including competition before and outside UFC. Use the controls to isolate an opponent, promotion, method or result.
| Result | Date / record | Opponent | Event | Finish details |
|---|---|---|---|---|
| L | 1–5–0 after bout | James UpshurView status and profile → | XCF 7 - Havoc in Havasu 3 | DecisionRound 3 Time 5:00 Referee Not listed |
| L | 1–4–0 after bout | Tim CareyView status and profile → | XCF 6 - Xtreme Cage Fighter 6 | Submission (Choke)Round 1 Time N/A Referee Not listed |
| L | 1–3–0 after bout | Tim CareyView status and profile → | XCF 5 - Evolution | TKO (Cut)Round 1 Time N/A Referee Not listed |
| L | 1–2–0 after bout | Jamie VarnerView status and profile → | RITC 50 - The Prelude | Submission (Choke)Round 3 Time 1:56 Referee Not listed |
| L | 1–1–0 after bout | Shannon RitchView status and profile → | RITC 44 - Feel the Power | KO (Head Kick)Round 1 Time 0:09 Referee Not listed |
| W | 1–0–0 after bout | Josh DragooView status and profile → | RITC 40 - Casa Grande | TKO (Submission to Punches)Round 2 Time 0:20 Referee Not listed |
Fight Atlas republishes factual bout results, not source articles or photography. Belt markers appear only when championship status is confirmed by an official promotion source; unverified bouts are never inferred. The matched source name for this profile is David Klein.
Verify source record ↗Every verified opponent opens another full career
6 professional bout rows are displayed from the source record. 5 unique opponent identities have a stable source ID and an internal Fight Atlas route. Every opponent row has a verified identity link.
Source and correction standard
The complete professional history is retrieved from the established public fight-record source and cached for up to 24 hours. Current-roster status remains separate from historical career data and does not imply retirement.