Doutorado em Engenharia Eletrotécnica e de Computadores pela Universidade de Trás-os-Montes e Alto Douro, mestre em Ensino de Informática e licenciado em Engenharia de Sistemas e Informática pela Universidade do Minho. Desenvolve investigação nas áreas da robótica educativa, pensamento computacional, inteligência artificial aplicada à robótica, algoritmos inspirados na natureza e interação homem-máquina, com ampla produção científica em revistas, livros e conferências internacionais. Foi coordenador do projeto europeu Robots for STEM e integra projetos Erasmus+ nas áreas da robótica e da educação digital. É docente convidado no Instituto Politécnico do Porto e no Instituto Politécnico do Cávado e do Ave, além de lecionar desde 2015 no Colégio Paulo VI, onde coordena currículos de robótica educativa, programação e informática. Colabora ainda cientificamente com o IEETA, como membro integrado no grupo Information Systems and Processing, e com o INESC TEC, como investigador colaborador externo. Tem experiência como formador, autor de materiais pedagógicos e dinamizador de práticas inovadoras como gamificação, game-based learning e aprendizagem baseada em robótica.