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 | 9–8–0 after bout | Alan MartinezView status and profile → | WFC - World Fighting Championships 192 | Decision (Split)Round 3 Time 5:00 Referee Not listed |
| L | 9–7–0 after bout | Greg FischerView status and profile → | FW - FightWorld 44 | Submission (Rear-Naked Choke)Round 3 Time 2:09 Referee Keith Peterson |
| L | 9–6–0 after bout | Ilimbek Akylbek UuluView status and profile → | AFP 104 - American Fight Promotions | Submission (Rear-Naked Choke)Round 4 Time 2:14 Referee Chip Snider |
| L | 9–5–0 after bout | Andrew GarretteView status and profile → | AKA 48 - American Kombat Alliance | Decision (Unanimous)Round 3 Time 5:00 Referee Bassel Mahgoub |
| W | 9–4–0 after bout | Josh SmithView status and profile → | AFP 101 - American Fight Promotions | Submission (Rear-Naked Choke)Round 1 Time 3:49 Referee Brent Balik |
| L | 8–4–0 after bout | Sean MoraView status and profile → | Fury FC 97 - Fury Fighting Championship 97: Torres vs. Ndregjoni | Submission (Rear-Naked Choke)Round 2 Time 2:37 Referee Jon Schorle |
| W | 8–3–0 after bout | Usama RahmanView status and profile → | CT 25 - Caged Thunder 25: Hall of Fame Fights | TKO (Punches)Round 1 Time 4:52 Referee Not listed |
| L | 7–3–0 after bout | John YannisView status and profile → | Fury FC 81 - Fury Fighting Championship 81: Moreno vs. Jones | Decision (Split)Round 3 Time 5:00 Referee Patrick Patlan |
| L | 7–2–0 after bout | Joshua WeemsView status and profile → | Fury FC 65 - Fury Fighting Championship 65 | Submission (Guillotine Choke)Round 3 Time 2:15 Referee Bobby Wombacher |
| W | 7–1–0 after bout | Evers AndersonView status and profile → | Fury FC 58 - Fury Fighting Championship 58 | TKO (Punches and Elbows)Round 1 Time 3:23 Referee Steve Armstrong |
| L | 6–1–0 after bout | Jose JohnsonView status and profile → | Fury FC 53 - Fury Fighting Championship 53: Lookin' For a Fight | Submission (Triangle Choke)Round 2 Time 1:38 Referee Joel Ojeda |
| W | 6–0–0 after bout | Brandon LewisView status and profile → | Dana White's Contender Series - Contender Series 2021: Week 3 | Decision (Unanimous)Round 3 Time 5:00 Referee Mark Smith |
| W | 5–0–0 after bout | Regivaldo CarvalhoView status and profile → | LFA 96 - Mendonca vs. Dagvadorj | KO (Slam)Round 2 Time 2:57 Referee Nick Berens |
| W | 4–0–0 after bout | Mando GutierrezView status and profile → | LFA 90 - Lazishvili vs. Steele | Submission (Rear-Naked Choke)Round 2 Time 4:26 Referee Bobby Wombacher |
| W | 3–0–0 after bout | Justin StreetView status and profile → | BCM Promotions - Fight Night 8 | TKO (Punches)Round 1 Time 1:15 Referee Not listed |
| W | 2–0–0 after bout | Maui AcantiladoView status and profile → | WFC - World Fighting Championships 116 | TKO (Punches)Round 3 Time 4:07 Referee Not listed |
| W | 1–0–0 after bout | Greg SpearmanView status and profile → | OCL - Ohio Combat League 2 | Decision (Unanimous)Round 3 Time 5:00 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 Mo Miller.
Verify source record ↗Every verified opponent opens another full career
17 professional bout rows are displayed from the source record. 16 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.