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 | 8–25–0 (1 NC) after bout | Jeff FletcherView status and profile → | UPN - Uptown Fight Night 3 | Submission (Triangle Choke)Round 1 Time 3:44 Referee Not listed |
| W | 8–24–0 (1 NC) after bout | Corey EdwardsView status and profile → | TCF - Dawn of Champions | SubmissionRound 2 Time N/A Referee Not listed |
| L | 7–24–0 (1 NC) after bout | Andrew PerezView status and profile → | UPN - Uptown Fight Night 2 | Decision (Unanimous)Round 3 Time 5:00 Referee Not listed |
| L | 7–23–0 (1 NC) after bout | Ryan KellyView status and profile → | UPN - Uptown Fight Night 1 | Submission (Armbar)Round 1 Time 3:03 Referee Not listed |
| L | 7–22–0 (1 NC) after bout | Joey RiveraView status and profile → | WFF 1 - Battle for the Desert | Submission (Rear-Naked Choke)Round 1 Time 3:53 Referee Fred Robles |
| L | 7–21–0 (1 NC) after bout | Adam OakeyView status and profile → | RITC 133 - Rage in the Cage 133 | Submission (Guillotine Choke)Round 1 Time 1:01 Referee Not listed |
| L | 7–20–0 (1 NC) after bout | Mike AshfordView status and profile → | RITC 132 - Rage in the Cage 132 | Submission (Kimura)Round 1 Time 1:32 Referee Not listed |
| W | 7–19–0 (1 NC) after bout | David BarnesView status and profile → | RITC 129 - Rage in the Cage 129 | Decision (Split)Round 3 Time 5:00 Referee Neil Sarembock |
| L | 6–19–0 (1 NC) after bout | Jacob DevreeView status and profile → | RITC 125 - Rage in the Cage 125 | Submission (Rear-Naked Choke)Round 2 Time 2:30 Referee Not listed |
| L | 6–18–0 (1 NC) after bout | Jeremy LarsenView status and profile → | AG - Extreme Beat Down | TKO (Punches)Round 1 Time 4:44 Referee Not listed |
| L | 6–17–0 (1 NC) after bout | Omur CorView status and profile → | RITC 122 - Rage in the Cage 122 | Decision (Unanimous)Round 3 Time 3:00 Referee Not listed |
| L | 6–16–0 (1 NC) after bout | Joe CroninView status and profile → | RITC 118 - Rage in the Cage 118 | Submission (Rear-Naked Choke)Round 1 Time 1:40 Referee Not listed |
| W | 6–15–0 (1 NC) after bout | Robert RoseView status and profile → | RITC 116 - Rage in the Cage 116 | TKO (Injury)Round 1 Time 2:49 Referee Not listed |
| L | 5–15–0 (1 NC) after bout | Rudy BaezView status and profile → | RITC 115 - Rage in the Cage 115 | Submission (Armbar)Round 1 Time 2:20 Referee Not listed |
| L | 5–14–0 (1 NC) after bout | John LansingView status and profile → | RITC 114 - Rage in the Cage 114 | Submission (Armbar)Round 1 Time 0:28 Referee Not listed |
| L | 5–13–0 (1 NC) after bout | Eric SaavedraView status and profile → | RITC 113 - Rage in the Cage 113 | Submission (Guillotine Choke)Round 2 Time 1:41 Referee Not listed |
| L | 5–12–0 (1 NC) after bout | Drew FickettView status and profile → | RITC 111 - Rage in the Cage 111 | Submission (Guillotine Choke)Round 1 Time 2:13 Referee Not listed |
| L | 5–11–0 (1 NC) after bout | Estevan PayanView status and profile → | RITC 108 - Rage in the Cage 108 | Submission (Rear-Naked Choke)Round 2 Time 0:35 Referee Not listed |
| W | 5–10–0 (1 NC) after bout | Josh EkremView status and profile → | RITC 104 - Super Brawl | TKO (Submission to Punches)Round 1 Time 1:39 Referee Not listed |
| W | 4–10–0 (1 NC) after bout | Eddie ArizmendiView status and profile → | RITC 100 - The Centennial | KO (Punch)Round 1 Time 0:12 Referee Not listed |
| L | 3–10–0 (1 NC) after bout | Paul ArroyoView status and profile → | RITC 99 - Rage in the Cage 99 | Submission (Armbar)Round 1 Time 2:03 Referee Not listed |
| L | 3–9–0 (1 NC) after bout | Travous DeGroatView status and profile → | CS - Cage Supremacy | TKO (Punches)Round 2 Time 0:52 Referee Not listed |
| W | 3–8–0 (1 NC) after bout | Joe VigilView status and profile → | RITC 95 - Rage in the Cage 95 | Submission (Guillotine Choke)Round 2 Time 0:21 Referee Not listed |
| NC | 2–8–0 (1 NC) after bout | Paul ArroyoView status and profile → | RITC 91 - Rage in the Cage 91 | No ContestRound — Time N/A Referee Not listed |
| W | 2–8–0 after bout | Brandon HallView status and profile → | RITC 90 - Rage in the Cage 90 | Technical Submission (Armbar)Round 2 Time 1:44 Referee Not listed |
| L | 1–8–0 after bout | Lee NorrisView status and profile → | EFC 2 - Extreme Fighter Challenge 2: The Return | Submission (Exhaustion)Round — Time 0:00 Referee Not listed |
| L | 1–7–0 after bout | Matt DoudView status and profile → | AFC - Absolute Fighter Challenge | TKO (Retirement)Round 2 Time 5:00 Referee Not listed |
| L | 1–6–0 after bout | Edwin DeweesView status and profile → | RITC 21 - Rage in the Cage 21 | Submission (Choke)Round 1 Time 0:58 Referee Not listed |
| L | 1–5–0 after bout | Drew MoraView status and profile → | RITC Tucson 4 - Rage in the Cage Tucson 4 | TKO (Submission to Punches)Round 1 Time 2:10 Referee Not listed |
| L | 1–4–0 after bout | Rob WoodinView status and profile → | RITC 20 - Rage in the Cage 20 | DisqualificationRound 1 Time 2:21 Referee Not listed |
| W | 1–3–0 after bout | Shane BlairView status and profile → | RITC Tucson 3 - Rage in the Cage Tucson 3 | TKO (Punches)Round 2 Time 0:38 Referee Not listed |
| L | 0–3–0 after bout | Tyler BrooksView status and profile → | RITC 19 - Rage in the Cage 19 | TKO (Retirement)Round 2 Time 3:00 Referee Not listed |
| L | 0–2–0 after bout | Ted OpalinskiView status and profile → | RITC Tucson 2 - Rage in the Cage Tucson 2 | DecisionRound 3 Time 3:00 Referee Not listed |
| L | 0–1–0 after bout | Drew FickettView status and profile → | RITC 18 - Rage in the Cage 18 | Submission (Choke)Round 1 Time 1:58 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 Jeff Horlacher.
Verify source record ↗Every verified opponent opens another full career
34 professional bout rows are displayed from the source record. 32 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.