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 | 3–2–0 after bout | Jeremy BalboaView status and profile → | CFS 1 - Carnage Fight Series 1 | Submission (Guillotine Choke)Round 1 Time 4:58 Referee Ken Miliner |
| L | 2–2–0 after bout | Tom HinzView status and profile → | CFFC 137 - Cage Fury Fighting Championships 137: Dilemme vs. Samaniego | Decision (Unanimous)Round 3 Time 5:00 Referee Jean Paul Zuniga |
| L | 2–1–0 after bout | Cedric LochardView status and profile → | SMMA - Samourai MMA 10 | Submission (Rear-Naked Choke)Round 1 Time 3:39 Referee Yannick Loof |
| W | 2–0–0 after bout | Brandon DoyleView status and profile → | CT 25 - Caged Thunder 25: Hall of Fame Fights | Decision (Split)Round 3 Time 5:00 Referee Not listed |
| W | 1–0–0 after bout | Derek AlbrightView status and profile → | B2 Fighting Series 180 - Bowling Green, KY | TKORound 1 Time 1:19 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 Christian Porter.
Verify source record ↗Every verified opponent opens another full career
5 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.