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 |
|---|---|---|---|---|
| W | 12–7–0 after bout | Brandon RichardsonView status and profile → | Ultimate Cage Combat 7 - Halloween Havoc | KO (Punch)Round 1 Time 1:02 Referee Not listed |
| W | 11–7–0 after bout | Jasper CollinsView status and profile → | Ultimate Cage Combat 6 - Brutal Massacre | KO (Punch)Round 1 Time 1:31 Referee Not listed |
| W | 10–7–0 after bout | Adam CarterView status and profile → | Ultimate Cage Combat 5 - The Comeback | KO (Punch)Round 2 Time 1:21 Referee Not listed |
| W | 9–7–0 after bout | Preston AndersonView status and profile → | Revolution Challenge 2 - Breaking Out | TKO (Punches)Round 1 Time 2:09 Referee Not listed |
| L | 8–7–0 after bout | Robert MrotekView status and profile → | UCC 4 - Throwdown Madness | Submission (Guillotine Choke)Round 2 Time 1:05 Referee Not listed |
| W | 8–6–0 after bout | Brett SamsonView status and profile → | Maximum Fighting League 2 - Halloween Throwdown | Submission (Triangle Choke)Round 3 Time 1:19 Referee Not listed |
| W | 7–6–0 after bout | Justin LettoView status and profile → | UCC 3 - The Return Has Come | KO (Punches)Round 1 Time 1:02 Referee Not listed |
| W | 6–6–0 after bout | Norman CompreiniView status and profile → | UCC 1 - Ultimate Cage Combat | TKORound 3 Time 2:29 Referee Not listed |
| L | 5–6–0 after bout | Ian LovelandView status and profile → | KOTC - Insurrection | TKO (Punches)Round — Time N/A Referee Not listed |
| W | 5–5–0 after bout | Marshall MartinView status and profile → | DFC 5 - Legends of the Falls | Submission (Choke)Round 1 Time 2:13 Referee Not listed |
| L | 4–5–0 after bout | Saul MitchellView status and profile → | DFC 3 - Submission Impossible | TKO (Punches)Round 2 Time 4:09 Referee Not listed |
| L | 4–4–0 after bout | Wayne HajicekView status and profile → | NFA - Super Brawl | TKO (Doctor Stoppage)Round 2 Time N/A Referee Not listed |
| W | 4–3–0 after bout | Zack SchroederView status and profile → | CFX 2 - Cage Fighting Xtreme 2 | Decision (Unanimous)Round 3 Time 5:00 Referee Not listed |
| W | 3–3–0 after bout | Gjermund LarsenView status and profile → | DFC 1 - Dakota Fighting Championships 1 | Decision (Unanimous)Round 3 Time 5:00 Referee Not listed |
| L | 2–3–0 after bout | Marc ReginerView status and profile → | AFC 1 - Genesis | TKORound 2 Time 0:00 Referee Not listed |
| L | 2–2–0 after bout | Keith SoglaView status and profile → | AAF 4 - Absolute Ada Fights 4 | Submission (Armbar)Round 1 Time 4:36 Referee Not listed |
| W | 2–1–0 after bout | Jeff GumringerView status and profile → | AAF 3 - Absolute Ada Fights 3 | Submission (Guillotine Choke)Round 2 Time 0:39 Referee Not listed |
| L | 1–1–0 after bout | Tim LewisView status and profile → | IFA - Friday Night Tournament | SubmissionRound 1 Time 4:34 Referee Not listed |
| W | 1–0–0 after bout | Keith SoglaView status and profile → | AAF 1 - Absolute Ada Fights 1 | KORound 3 Time 4:40 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 John Yim.
Verify source record ↗Every verified opponent opens another full career
19 professional bout rows are displayed from the source record. 18 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.