About me

Results-driven ML Engineer with a proven track record in creating scalable ML solutions and robust data architectures across diverse industries.

What i'm doing

  • Roku Voice

    Improving voice commands for Roku devices.

Resume

Experience

  1. Senior Machine Learning Engineer
    Roku, United Kingdom

    2024 — Present

    Voice Team

  2. Machine Learning Engineer
    IAG Loyalty, United Kingdom

    2022 — 2024

    • Directed the creation of a scalable MLOps architecture using AWS, enabling secure, efficient deployment of production ML solutions via automated CI/CD pipelines.
    • Led a team to develop an ML Recommendation System and Ranking Model, providing personalized recommendations via an API and enriching user experience across all IAG Group airlines.

  3. Global Talent UK Visa - Artificial Intelligence

    2022 — 2027

    • I hold a UK Global Talent VISA for exceptional talent and have been endorsed by Tech Nation in the field of Artificial Intelligence.
    • The Tech Nation Visa enables the brightest and best tech talent from around the world to come and work in the UK's digital technology sector, contributing their cutting-edge expertise, creativity and innovation to maintaining the UK's position at the forefront of the global digital economy.

  4. Data Scientist
    Alpiq, Switzerland

    2022 — 2024

    Engineered robust data ingestion pipelines and predictive machine learning models to forecast European natural gas flows, optimizing market volatility and revealing valuable trading opportunities in inconsistencies between future prices and forecasts.

Education

  1. MSc Data Science & Engineering
    Instituto Superior Técnico, Portugal

    2021 — 2022

    Master Thesis: Deep Learning Architectures for Point Cloud Geometry Compression

  2. MSc Data Science
    ETH Zürich, Switzerland

    2018 — 2021

    3D Vision, Big Data, Deep Learning, Natural Language Understanding, Future Internet, Data Stream Processing and Analytics

  3. BSc Computer Science
    Instituto Superior Técnico, Portugal

    2015 — 2018

    Artificial Intelligence, Distributed Systems, Software Engineering, Analysis and Synthesis of Algorithms, Computer Networks, Complex Analysis and Differential Equations

My skills

  • Python, Java, SQL
  • C, C++, R
  • HTML/CSS Javascript
  • Assembly

Projects

  • finance

    Semantic Segmentation of Histopathological Slides

    This project is part of an effort towards a computer assisted diagnosis system of Mycosis Fungoides (MF), initally proposedas a Master’s Thesis by the Information Science and Engineering group at ETH. The goal is to segment the skin tissue into three classes: epidermis, spongiosis (widened intercellular spaces in the epidermis) and other tissue. These regions are the main regions of interest for discriminating between two diseases. A paper was published on this project in the MIUA 2020 Conference

Blog

  • Design conferences in 2022

    Deep Learning Course

    Semantic Segmentation of Histopathological Slides

    This project is part of an effort towards a computer assisted diagnosis system of Mycosis Fungoides (MF), initally proposedas a Master’s Thesis by the Information Science and Engineering group at ETH. The goal is to segment the skin tissue into three classes: epidermis, spongiosis (widened intercellular spaces in the epidermis) and other tissue. These regions are the main regions of interest for discriminating between two diseases.

    A paper was published on this project on the MIUA2020 Conference

  • Best fonts every designer

    3D Vision Course

    Video Stabilization Module From Predicted Local Gravity Vectors

    We developed an offline video stabilization module that will orient each frame of an input video footage with predicted local gravity vector pointing down. The module separates each frame of the input footage and adopts the method described by Lopez et al. to predict the camera extrinsic parameters, pitch and roll. The back-end pretrained model is fine-tuned on the PanoContext dataset and 360SP dataset. Our final model obtains a median roll error of 5.03o and a median tilt error of 6.02o.

  • Design digest #80

    Data Science Lab Course

    Calibrated Precipitation Forecasts

    We investigated Machine Learning methods for post-processing Numerical Weather Prediction (NWP) of rainfall in Switzerland. In this task, due to the inherent uncertainty of precipitation, the utility of the prediction for the end user does not solely come from an accurate point prediction, but also from an informative assessment of the probability of different scenarios. As a consequence, our goal is to provide, at any point in Switzerland, a predictive distribution that is wide enough to capture the true rainfall and, at the same time, is narrow enough to be informative for the user.

  • UI interactions of the week

    NLU Course

    The Story Cloze Test

    Our main goal was replicating and improving the results obtained in the paper "Incorporating Structured Commonsense Knowledge in Story Completion". We followed this paper because we thought that combining existing solutions to increase performance seemed like a very interesting approach. Even though the stated accuracy of the model is not much higher than the previous state-of-the-art, we believed that possibly extracting even more information from the sentences might help in increasing the final score.

  • The forgotten art of spacing

    Data Stream Processing Course

    Social Network Stream Processing

    In this project we used stream processing tools (Apache Flink and Apache Kafka) to build the backend of a hypothetical social network. We developed tools to replay and ingest streams of posts and comments and extended the data pipeline to continuously suggest recommended friends and detect people with suspicious behaviour.

  • Design digest #79

    Future Internet Course

    Low Earth Orbit Satellite Constellation Topology Design

    In this project, the goal was to construct a low-earth orbit (LEO) satellite network optimally, given all satellite positions, by setting up inter-satellite links (ISLs). We used a linear solver to compute the optimal solution.

  • UI interactions of the week

    Advanced ML Course

    Automatic Sleep Staging

    In this project we performed sequence classification. We categorized temporally coherent and uniformly distributed short sections of a long time-series. In particular, for each 4 seconds of a lengthy EEG/EMG measurement of brain activity recorded during sleep, we assigned one of the 3 classes corresponding to the sleep stage present within the evaluated epoch.

  • UI interactions of the week

    Advanced Topics in Communication Networks Course

    P4 - I Know What You're Seeing Right Now

    Likewise, the amount of data individuals cause and share, conscious or not, has also increased. Thus, privacy concerns have become a very prominent topic and in the near future most Internet traffic will be encrypted. In the work ”I Know what You Saw Law Minute”, the authors showed that it is possible for a passive adversary to successfully identify the video title by eavesdropping on an encrypted adaptive video stream. This project augments this work by providing an implementation that is able to perform the classification of video titles in real-time, while maintaining line-rate at a network level.

    In April 2019, attention to this attack was raised in mainstream media, referencing the possibility of attackers knowing which choices were made in interactive movies.

  • UI interactions of the week

    Compilers Course

    The GR8 language is an imperative unstructured language. One of the objectives of the language was to allow easy reading, so it is strongly restrictive regarding the appearance and position of the code in the lines (indentation).

  • UI interactions of the week

    Distributed Systems Course

    Binas - Shared Bicycle Platform

    The goal of this project was to develop a Web Services-based system implemented in the Java platform for the management of a shared bicycle platform called Binas. We implemented an active replication approach to replication of data, the quorum consensus protocol. Finally, we augmented our solution with the Kerberos protocol for security.

  • UI interactions of the week

    Computer Grafics Course

    Micro Machines Video Game

    The purpose of this project was to recreate the classic video game "Micro Machines" in a simplified 3D version, using three.js. The idea was to maintain the original gameplay by changing the graphical perspective so that the various elements of the game have a 3D look.

  • UI interactions of the week

    Human-Computer Interaction Course

    Com.ISTo - Interactive Tabletop for Restaurants

    Com.ISTo is an interactive table where you can view the restaurant's menu, order your meal and customize your order. Its touch screen makes it easy to use, and the various sensors and cameras at the table can make your visit more enjoyable. The objective was to develop a user interface for the table that allows users to access their functionalities in an efficient, effective and pleasant way.

Contact

Contact Form