Nacido en Norcross, Georgia, es un jugador formado en la Meadowcreek High School de su ciudad natal hasta 2017, cuando ingresó en el Central Georgia Technical College donde estuvo durante dos temporadas desde 2017 a 2019.
En la temporada 2019-20, ingresa en la Universidad Estatal de Kent, situada en Kent, Ohio, donde jugaría la NCAA con los Kent State Golden Flashes.
En su última temporada universitaria formaría parte de la Universidad de Carolina del Sur en Aiken, donde jugaría la NCAA con los USC Aiken Pacers en la temporada 2020-21.
En 2022, firma por los Soles de Santo Domingo Este de la Liga Nacional de Baloncesto de República Dominicana, con el que disputa 23 partidos con una media de 33,1 minutos por partido en los que promedió un total de 15,1 puntos, 4,7 rebotes y 2,4 asistencias siendo uno de los jugadores más importantes del equipo.
En septiembre de 2022, Castillo se incorporaba a Club Los Prados de Santo Domingo para disputar el Torneo de Baloncesto Superior del Distrito Nacional, en el que promedia 17,5 puntos, capturando 3,5 rebotes y repartiendo 2,3 asistencias en 26 minutos por partido.[1]
El 16 de noviembre de 2022, firma por el CB Bahía San Agustín de la Liga LEB Plata.[2]
En enero de 2024 se unió a Riachuelo de la Liga Nacional de Básquet de Argentina.[3] Luego de jugar un semestre con el equipo argentino y un paso por el baloncesto venezolano, regresó a su país para actuar con el San Carlos, el Dosa y los Lobos de Canastica, antes de regresar a Sudamérica a principios de diciembre contratado por los Leones de Quilpué de Chile como refuerzo para la BCLA.[4]
En enero de 2025 migró hacia el Líbano para jugar en el campeonato local con el Mayrouba.[5]
En septiembre de 2025 se unió a San Carlos de Torneo de Baloncesto Superior del Distrito Nacional de República Dominicana.[6] Sin embargo al mes siguiente partió hacia el Medio Oriente para unirse al Central Jounieh de la Liga Libanesa de Baloncesto.[7]
En 2022, se convierte en internacional con la selección de baloncesto de la República Dominicana, disputando tres partidos del FIBA AmeriCup.