He competed at the 2014 FINA World Swimming Championships (25 m), at the 2015 World Aquatics Championships, and at the 2016 Summer Olympics in Rio de Janeiro. At the 2016 Summer Olympics, he competed in the 200 m freestyle and 400 m freestyle events. In the 200 m freestyle event, he finished 13th in the heats with a time of 1:46.78 and qualified for the semifinals where he finished 12th with a time of 1:46.57 and did not advance to the final. In the 400 m freestyle event, he finished 12th in the heats with a time of 3:45.92 and did not qualify for the final. He was also part of South Africa's 4 × 200 m freestyle relay team which finished 10th in the heats and did not qualify for the final. Brown was part of the 4 × 100 m medley relay team that finished 13th in the heats and did not qualify for the final.