Cresciuto tra i settori giovanili dell'Ottawa Gloucester e Ottawa Internationals, nel 2018 viene acquistato dal Gent, con cui debutta come professionista. Nel 2020 passa al Lille, dove conquista un campionato francese (2020-2021) e una Supercoppa francese (2021).
Giocatore con un buon fiuto del gol, risulta molto utile anche in fase di impostazione del gioco.[5] Trova la sua perfetta collocazione come seconda punta o come centravanti.[5]
Carriera
Club
Acquistato dal Gent nel gennaio 2018,[3] ha esordito il 4 agosto successivo in occasione della partita di campionato pareggiata 1-1 contro lo Zulte Waregem, in cui ha segnato la rete del pareggio al 95º minuto. Cinque giorni più tardi debutta, come sostituto, in UEFA Europa League contro il Jagiellonia, segnando la rete che consente alla squadra belga di vincere l'incontro.[6] Sempre da sostituto, il 12 agosto seguente realizza una doppietta ai danni del Waasland-Beveren. Conclude la sua prima stagione da professionista con 14 reti in 43 partite totali; tali prestazioni gli valgono il rinnovo del contratto fino al giugno 2023.[7]
La seconda annata lo vede protagonista assoluto, tanto da laurearsi capocannoniere del campionato con 18 marcature le quali, però, non permettono al Gent di vincere il titolo.[4] In Europa League, invece, conduce la sua squadra fino ai sedicesimi di finale, persi contro la Roma.[8][9]
L'11 agosto viene ufficializzato il suo acquisto da parte del Lille per 30 milioni di euro.[10] Il 22 novembre, in occasione della vittoria interna per 4-0 contro il Lorient, segna la sua prima rete con il club francese.[11] Conclude la sua prima stagione francese con 13 gol in 48 partite complessive, contribuendo alla vittoria della Ligue 1.[12]
Nazionale
Ha giocato nelle nazionali giovanili canadesi Under-17 ed Under-23.
Convocato per la Gold Cup 2019, nonostante l'eliminazione dei canadesi ai quarti per mano di Haiti (3-2, con David che ha segnato una delle due reti dei canadesi),[13] è stato capocannoniere della competizione con 6 gol in 4 gare.[3] Questo grazie anche a una tripletta nel 7-0 rifilato a Cuba (gara in cui ha anche fornito un assist).[14][15]