Biografia Nato ad Edimburgo, in Scozia, ha iniziato ad andare in mountain bike all'età di otto anni e da giovane ha gareggiato a Glentress nelle corse organizzate dal Peebles Cycling Club. Ha corso su strada per la prima volta a 16 anni, ma si interessa di ciclismo su strada da quando, da bambino, una vacanza in famiglia in Francia gli ha permesso di guardare il Tour de France dal vivo tra le montagne. Nei suoi ambienti ristretti viene spesso chiamato "Big Cal"

Nel 2019 ha vinto una tappa ed è arrivato secondo nella classifica generale dello Youth Tour di Errigal in Irlanda. Quell'anno ha anche gareggiato ai campionati nazionali scozzesi, vincendo la medaglia d'argento nell'Americana insieme ad Alexander Gibb.

Nel 2022, correndo per la Wheelbase CabTech Castelli, è arrivato secondo nella cronometro under 23 ai campionati britannici. L'anno successivo firma per il team Trinity Racing. Viene selezionato dalla squadra britannica per competere ai campionati del mondo a Glasgow, concludendo al quattordicesimo posto la cronometro maschile Under-23.

Nell'aprile 2024, è arrivato decimo alla Parigi-Roubaix Espoirs. Ha corso il Giro Next Gen, arrivando quinto nella cronometro della prima tappa e secondo nella settima tappa. È arrivato nono nella classifica a punti e undicesimo nella classifica della montagna, e 56° in classifica generale. Ad agosto, ha corso nel Ronde van de Achterhoek, arrivando nono. È stato selezionato per correre il Tour of Britain a settembre, la cui prima tappa si è svolta sulle strade di casa nelle Scottish Borders. vincendo la classifica della montagna. A settembre ha rappresentato la Gran Bretagna ai campionati del mondo a Zurigo, classificandosi trentaquattresimo nella gara in linea Under-23.

Nel 2025, è entrato a far parte del team Red Bull-Bora-Hansgrohe Rookies, team di sviluppo della Red Bull-Bora-Hansgrohe. Ha corso la prima corsa professionistica, partecipando alla Volta ao Algarve insieme a Primož Roglič, si è classificato quarto al Istrian Spring Trophy e terzo all'Istrian Spring Trophy. Durante la Parigi-Roubaix Espoirs, è caduto, riportando la frattura della clavicola e della frattura della scapola. Il britannico è tornato alle competizioni a giugno, partecipando al Giro Next gen, in cui è arrivato terzo posto nella cronometro inaugurale, e si è classificato al decimo posto nella classifica generale. La settimana successiva è diventato campione britannico Under 23 a cronometro. Successivamente al Sibiu Cycling Tour, ha vinto l'ultima tappa, una cronometro individuale, e la classifica a punti. Ad agosto, si è classificato dodicesimo al Tour de l'Avenir. Selezionato per i campionati del mondo a Kigali in Ruanda, si è classificato quinto nella cronometro Under-23. A fine stagione ha vinto poi il Piccolo Giro di Lombardia, battendo in volata un gruppo di quattro corridori. ed è stato annunciato che sarebbe stato promosso al team principale dal 2026.

Ha iniziato la stagione gareggiando nel Tour Down Under, la sua prima gara UCI World Tour. Ha fatto da gregario, supportando Remco Evenepoel all'UAE Tour, supportando Daniel Martínez alla parigi-Nizza, ha partecipato alla sua prima Parigi-Roubaix e lavorato per Laurence Pithie alla Quattro Giorni di Dunkerque. Al Giro di Polonia si è classificato terzo nella cronometro finale. È stato selezionato per partecipare alla Vuelta a España. Si è classificato quarto nella prima tappa, la cronometro individuale a Monaco, e secondo nella diciottesima tappa (sempre una cronometro individuale, alle spalle di Stefan Küng.

Palmarès Strada 2025 (Red Bull-Bora-Hansgrohe Rookies, 3 vittorie) Campionati britannici, Cronomertro individuale Under-23 4ª tappa Sibiu Cycling Tour (Sibiu > Sibiu, cronometro individuale) Piccolo Giro di Lombardia

Altri successi 2024 (Trinity Racing) Classifica scalatori Tour of Britain

2025 (Red Bull-Bora-Hansgrohe Rookies) Classifica a punti Sibiu Cycling Tour

Piazzamenti Grandi Giri Vuelta a España 2026: 128º

Classiche monumento Parigi-Roubaix 2026: 100º

Competizioni mondiali Campionati del mondo su strada Glasgow 2023 - Cronometro Under-23: 14º Zurigo 2024 - Gara in linea Under-23: 34º Kigali 2025 - Cronometro Under-23: 5º Montréal 2026 - Cronometro Elite: 10º Montréal 2026 - In linea Elite: ritirato

Note

Altri progetti

Collegamenti esterni