Races and personal records
- 5k – Total races: 13
- 2012 Run for the Oaks 5k – 22:16.69 | 7:10 min/mile
- 8k – Total races: 16
- 2011 Inside Out Sports 8k Turkey Trot – 36:02:58 | 7:11 min/mile
- 10k – Total races: 9
- 2016 Race 13.1 Durham 10k – 46:36 | 7:31 min/mile
- 12k – Total races: 1
- 2012 Bay to Breakers 12k – 01:00:25 | 8:06 min/mile
- 13.1 miles – half marathon – Total races: 44
- 2014 Outer Banks half marathon – 1:39:07 | 7:34 min/mile
- 26.2 miles – full marathon – Total races: 1
- 2010 Outer Bank marathon – 3:55 | 8:58 min/mile
- Sprint Triathlon – Total races: 10
2019
- 2019 St. Paddy’s 4 miler – 32.08| 8:01 min/mile (Spring)
- 2019 3 Little Pigs Sprint Triathlon: Smithfield – 1:15:39.333 | 4:08 250 yard swim, 42:43 14 mile bike, 25:30 5k run (Spring)
- 2019 Rex Triathlon Garner – 55:30.013 | 4:18 250 yard swim, 32:07 10 mile bike, 16:33 2 mile run (Summer)
- 2019 Rex Triathlon Wakefield – 58:46.980 | 4:45 250 yard swim, 34:07 10 mile bike, 17:06 2 mile run (Summer)
- 2019 Hopscotch 8k – 43:35 | 8:46 min/mile (Summer)
- 2019 Rex Triathlon Knightdale (mock) – 1:09 | 4:27 250 yard swim, 44:13 12.5 mile bike, 17:41 2 mile run (Summer)
- 2019 Battle at Buckhorn Sprint Triathlon – 1:42:44 | 15:51 750 yard swim, 56:47 17 miles bike, 26:41 3.1 mile run (Fall)
- 2019 Old Reliable 10k (City of Oaks)  – 50:59.32 | 8:12 min/mile (Fall)
- 2019 Trophy Trot 10k – 52:44.86 | 8:30 min/mile (Fall)
2018
- 2018 Krispy Kreme Challenge – 39:15:60 | 8:00 min/mile (Winter)
- 2018 Tobacco Road half marathon – 1:47:06 | 8:12 min/mile (Winter)
- 2018 St. Paddy’s 4 miler – 00:30:10 | 7:32 min/mile (Spring)
- 2018 Raleigh Rock n Roll half marathon 1:45:04 | 8:01 min/mile (Spring)
- 2018 Flying Pirate half marathon – 1:50:42 | 8:27 min/mile (Spring)
- 2018 Oak Island lighthouse half marathon – 1:44:22 | 7:57 (Spring)
- 2018 Rex Wellness Sprint Triathlon: Wakefield – 56:17.02 | 1:51 min/100y swim, 18.7 miles/hour bike, 8:28 min/mile run (Summer)
- 2018 Endless Summer 8k – 40:45:54 | 8:14 (Summer)
- 2018 Rex Wellness Sprint Triathlon: Knightdale – 1:03:45 | 1:43 min/100y swim, 18.4 miles/hour bike, 8:01 min/mile run (Summer)
- 2018 Battle at Buckhorn Sprint Triathlon – 1:39:54 | 2:08 min/100m swim, 18.5 miles/hour bike, 8:16 min/mile run (Fall)
- 2018 Old Reliable 10k (City of Oaks) – 49:25.70 | 7:58 min/mile (Fall)
- 2018 Outer Banks half marathon – 1:45:47 | 8:04 min/mile (Fall)
- 2018 Trophy Trot 10k – 52:23.90 | 8:27 min/mile (Fall)
- 2018 Frosty Run 10k – 50:37.21 | 8:09 min/mile (Fall)
2017
- 2017 Race 13.1 Wilmington half marathon – 1:44:27 | 7:58 min/mile (Spring)
- 2017 Rock ‘n Roll Raleigh half marathon – 1:42:20 | 7:48 min/mile (Spring)
- 2017 Flying Pirate half marathon 5k – 28:21:00 | 9:08 min/mile (Spring)
- 2017 Flying Pirate half marathon – 1:44:16 | 7:57 min/mile (Spring)
- 2017 Red Hat Summit 5k – 21:54 | 7:17 min/mile (Spring) (unofficial time)
- 2017 Rex Wellness Sprint Triathlon: Wakefield – 1:07:39 | 1:54 min/100y swim, 18.7 miles/hour bike, 8:17 min/mile run (Summer)
- 2017 Rex Wellness Sprint Triathlon: Knightdale – 1:04:36 | 1:45 min/100y swim, 17.3 miles/hour bike, 7:53 min/mile (Summer)
- 2017 City of Oaks half marathon – 1:43:50 | 7:55 min/mile (Fall)
- 2017 Outer Banks half marathon – 1:42:11 | 7:48 min/mile (Fall)
- 2017 Trophy Trot 10k – 47:01.74 | 7:35 min/mile (Fall)
- 2017 Race 13.1 Durham 10k – canceled due to snow/ice
2016
- 2016 St. Patty’s Green Run 8k – 38:22:02 | 7:43 min/mile (Spring)
- 2016 Flying Pirate half marathon – 1:44:10 | 7:57 min/mile (Spring) [Course PR]
- 2016 Oktoberfest 8k (virtual) – 39:00 | 7:48 min/mile (Fall)
- 2016 City of Oaks half marathon – 1:42:01 | 7:47 min/mile (Fall) [Course PR]
- 2016 Outer Banks half marathon – 1:42:36 | 7:49 min/mile (Fall) [77 out of 1999]
- 2016 Skinny Turkey half marathon – 1:44:43 | 7:59 min/mile (Fall)
- 2016 Jingle Bell 5k – 23:03.00 | 7:27 min/mile (Fall)
- 2016 Race 13.1 Durham 10k – 46:36 | 7:31 min/mile (Fall) [10k PR]
2015
- 2015 St. Patty’s Green Run 8k – 38:20:48 | 7:42 min/mile (Spring)
- 2015 Flying Pirate half marathon – 1:45:10 | 8:01 min/mile (Spring)
- 2015 Red Hat Summit 5k – 26:32:21 | 8:17 min/mile (Summer)
- 2015 OSCON Glow Run 5k – 25:04:60 | 8:38 min/mile (Summer)
- 2015 City of Oaks half marathon – 1:48:40 | 8:17 min/mile (Fall)
- 2015 Outer Banks half marathon – 1:43:53 | 7:55 min/mile (Fall)
- 2015 Skinny Turkey half marathon – 01:47:02 | 8:10 min/mile (Fall)
- 2015 Jingle Bell run/walk 5k – 23:03.05 | 7:26 min/mile (Fall)
- 2015 Race 13.1 Holiday half marathon – 01:47:23 | 8:11 min/mile (Fall)
2014
- 2014 Flying Pirate half marathon – 1:46:23 | 8:07 min/mile (Spring)
- 2014 Red Hat Summit 8k – 42:16:72 | 8:27 min/mile (Spring)
- 2014 Storm the Beach 5k – 1:06:59 | (Summer)
- 2014 OSCON 5k – 29:00.00 | 8:03 min/mile (Summer)
- 2014 City of Oaks half marathon – 1:42:05 | 7:48 min/mile (Fall)
- 2014 Outer Banks half marathon – 1:39:07 | 7:34 min/mile (Fall) [Half PR]
- 2014 Raleigh Rocks the Greenway 10k – 46:53 | 7:34 min/mile (Fall)
- 2014 Inside Out Sports 8k Turkey Trot – 36:41 | 7:26 min/mile (Fall)
2013
- 2013 St. Patty’s Green Run 8k – 38:36.00 | 7:45 (Spring)
- 2013 Tobacco Road half marathon – 1:43:43 | 7:56 min/mile (Spring)
- 2013 Flying Pirate half marathon – 1:45:27 | 8:03 min/mile (Spring)
- 2013 Red Hat Summit 5k – 24:34:24 | 7:55 min/mile (Summer)
- 2013 Storm the Beach 5k – 55:31.00 | (Summer)
- 2013 OSCON 5k (3.7 mile 5k) – 29:15.00 | 7:54 min/mile (Summer)
- 2013 City of Oaks half marathon – 1:43:08 | 7:52 min/mile (Fall)
- 2013 Outer Banks half marathon – 1:41:32 | 7:45 min/mile (Fall)
- 2013 8k Turkey Trot – 36:24.00 | 7:19
2012
- 2012 Run for the Oaks 5k – 22:16.69 | 7:10:00 min/mile (Winter) [5k PR]
- 2012 St. Patty’s Green Run 8k – 37:17.08 | 7:30 (Spring)
- 2012 Tobacco Road half marathon – 1:44:39 (Spring)
- 2012 Flying Pirate half marathon – 1:45:39 (Spring)
- It rained the entire time for the Flying Pirate race
- 2012 Bay to Breakers 12k – 01:00:25 (Spring) [12k PR]
- 2012 Oktoberfest Run Green 8k – 39:12 (Fall)
- 2012 City of Oaks half marathon – 1:43:53 (Fall)
- 2012 Outer Banks half marathon – 1:41:59 (Fall)
- 2012 Skinny Turkey half marathon – 1:44:14 (Fall)
2011
- 2011 Polar Plunge 5k – 24:15:00 (Winter)
- 2011 Tobacco Road half marathon – 1:45:07 (Spring)
- 2011 Flying Pirate half marathon – 1:45:56 (Spring)
- 2011 City of Oaks half marathon – 1:41:38 (Fall)
- 2011 Outer Banks 8k – 49:54:00 (Fall)
- 2011 Outer Banks half marathon – 1:42:33 (Fall)
- 2011 Inside Out Sports 8k Turkey Trot – 36:02:58 | 7:11:00 min/mile (Fall) [8k PR]
2010
- 2010 Tobacco Road half marathon – 1:53 (Spring)
- 2010 Flying Pirate half marathon – 1:49 (Spring)
- 2010 City of Oaks half marathon – 1:46 (Fall)
- 2010 Outer Bank marathon – 3:55 (Fall) [PR]
- 2010 Inside Out Sports 8k Turkey Trot –37:34 (Fall)
2009
- 2009 Raleigh Rocks half marathon – 1:55 (Spring)
- 2009 City of Oaks half marathon – 1:50 (Fall)
2008
- 2008 Raleigh Rocks half marathon – 1:55 (Spring)
- 2008 City of Oaks half marathon – 1:50 (Fall)
2007
- 2007 City of Oaks half marathon – 1:54 (Fall)