I'm an AI & Data Engineer who turns people's problems into real software solutions, building and deploying production-ready systems across cloud and on-premise environments. My recent focus has been on integrating Gen AI/ML into systems, including agent-based architectures, RAG workflows and data pipelines, as well as delivering full-stack applications with end-to-end DevOps coverage across IaC, CI/CD, authentication, monitoring and infrastructure.
Machine Learning·Big Data Processing·Deep Learning·Optimization and Algorithms·Robotics·Natural Language Processing·Data Structures and Algorithms·AI and Decision Systems·Image Processing and Computer Vision·Information Systems and Databases·Programming·Data Analysis and Integration·Data Administration and Information Systems·Entrepreneurship, Innovation and Technology Transfer·Machine Learning·Big Data Processing·Deep Learning·Optimization and Algorithms·Robotics·Natural Language Processing·Data Structures and Algorithms·AI and Decision Systems·Image Processing and Computer Vision·Information Systems and Databases·Programming·Data Analysis and Integration·Data Administration and Information Systems·Entrepreneurship, Innovation and Technology Transfer·
2022 — 2024
MSc Electrical and Computer Engineering
Specialization Field: Artificial Intelligence & Data ScienceInstituto Superior Técnico (University of Lisbon)
Developed an event-driven GenAI compliance platform on AWS, automating end-to-end regulatory document analysis and action routing.
Extracted compliance insights and intelligently mapped them with relevant business units, enabling actionable workflows.
Leveraged agent-based RAG pipelines on Amazon Bedrock for contextual retrieval and reasoning across the system.
Reduced manual review effort and enabled scalable, production-grade compliance workflows.
Event-DrivenServerlessGenAIAgentic Systems
Tech Stack ↓
AI / ML
Bedrock
AgentsKnowledge BasesOpenSearch-basedEmbeddings
Textract
Compute & API
LambdaStep FunctionsAppSync
Storage & Events
DynamoDBS3SNSEventBridge
Networking & Security
VPCIAM
Auth
OIDC
Monitoring
CloudWatchX-Ray
IaC & CI/CD
AWS CDKCodePipelineCodeCommitCloudFormation
Languages
PythonTypeScriptNode.js
Production
LLM-based Translation Platform
Implemented an internal LLM-based translation platform on Microsoft Azure using Azure OpenAI and AI Foundry, reducing manual translation effort by ~90% and enabling multilingual content for international teams.
Proposed a longitudinal deep learning approach for MCI-to-AD conversion prediction using FDG-PET neuroimaging data. Trained and developed an hybrid architecture combining a fine-tuned 3D ResNet with sequence models (RNNs, Transformer), enabling joint spatial-temporal representation learning over longitudinal scan sequences.
Introduced stage-aware evaluation by stratifying converters based on temporal distance to conversion, providing a more clinically realistic assessment of early diagnosis, achieving ~94% AUC.
Tech Stack ↓
Language
PythonMATLAB
Deep Learning
TensorFlowKeras
Data & ML
PandasNumPyScikit-learn
Visualisation
Power BI
MatplotlibSeaborn
Environment
Jupyter Notebook
Personal
MLOps: Movie Recommendation System
Engineered and developed an end-to-end movie recommendation system using collaborative filtering on 10M ratings from 72K users. Built on Apache Spark and matrix factorization algorithms, covering the full ML lifecycle: from experiment tracking and model versioning to automated retraining and deployment pipelines.
Tech Stack ↓
Language
Python
Big Data
PySpark
ML & MLOps
Scikit-learnMLflow
Data & Viz
PandasNumPyMatplotlib
Infra & DevOps
DockerDocker ComposeGitHub Actions
Academic
Giro d'Italia: Unsupervised Video Clustering
Developed an unsupervised video analytics pipeline to segment Giro d’Italia broadcast footage into distinct shot types.
Extracted pose features with OpenPose and reconstructed missing keypoints via GLRM.
Evolved from ineffective skeleton-only clustering to multimodal embeddings combining pose, visual (VGG), and semantic (CLIP) features.
Applied dimensionality reduction and visualization (PCA, t-SNE) and clustering techniques (K-Means, GMM, Spectral), with K-Means achieving the best separation into 8 shot categories.
Tech Stack ↓
Language
Python
ML & Data
Scikit-learnPandasNumPyH2O.aiSciPy
Vision
OpenCVOpenPose
Visualisation
MatplotlibSeaborn
Environment
Jupyter Notebook
Academic
Dental Clinic Database
Developed a full-stack database system for managing dental clinic operations, from schema design to web app integration.
Designed an E-R model and relational schema with integrity constraints, and implemented advanced SQL logic (triggers, stored procedures) to enforce business rules and automate workflows.
Built a Flask-based web application with an OLAP-powered dashboard to visualize statistics on appointments, patients, and treatments.
Tech Stack ↓
Backend and APIs
PythonFlask
Database & Infra
PostgreSQLDocker
Frontend
HTMLCSSJavaScriptReactStreamlit
Personal
Mobile Legends Data Analysis
Exploratory data analysis of Mobile Legends hero statistics using a Kaggle dataset. Investigated hero distribution across lanes and roles, champion release trends, and esports performance: including pro player pick rates, win rates above/below mean pick thresholds, and the relationship between champion age and competitive preference.
Tech Stack ↓
Language
Python
Data & Viz
PandasNumPyMatplotlibJupyter Notebook
Academic
Character-Level Machine Translation (ES→EN)
Developed a bidirectional LSTM encoder-decoder for Spanish-to-English character-level translation in PyTorch. Integrated a bilinear attention mechanism into the decoder, decreasing the Levenshtein distance validation. Explored beam search to reduce error propagation across decoding steps. Ranked top of class with (97 out of 100 score).
Tech Stack ↓
Language
Python
Deep Learning
PyTorch
Data & Viz
Scikit-LearnNumPyMatplotlib
Academic
E-REDES Energy Data Warehouse
Built an end-to-end ETL pipeline and star-schema Data Warehouse for E-REDES (Portugal's electricity distributor) real energy distribution data across Portuguese municipalities, then modelled an OLAP cube in Saiku Analytics for multidimensional analysis of consumption trends by district, year, and voltage level.
Tech Stack ↓
Data & ETL
PentahoSaiku Analytics
Database
MySQL
Academic
Drawing Robotic-Arm (Scorbot ER-7)
Programmed a 5-DOF Scorbot ER-7 serial manipulator to autonomously reproduce drawings on paper based on an input image. Used OpenCV for corner and contour detection to extract key image features, then converted pixel coordinates to real-world dimensions and generated a continuous end-effector trajectory, requiring serial communication, robot calibration, and pen-pressure fine-tuning.
Tech Stack ↓
Language
Python
Libraries
OpenCVNumPyMatplotlibPySerial
Online Course
Airline Customer Service Chatbot
Context-aware airline chatbot using LangChain and LLMs to handle customer queries, retrieving real-time flight details from a MongoDB database. Combines prompt engineering with dynamic context parsing to switch between small talk and database-driven responses via a Gradio interface.
Tech Stack ↓
Language
Python
AI & LLMs
HuggingFaceLangChain
Database
MongoDBMicrosoft SQL Server
Frontend
Gradio
Academic
AI Agent for 'Roll the Ball' Slide Puzzle
Puzzle-solving AI using uninformed and informed (A*) search strategies to rearrange tiles and find a path for the ball to reach the exit. Custom heuristic balances depth and connectivity to guide near-optimal solutions.
Tech Stack ↓
Language
Python
Libraries
NumPy
Search algorithms from Russell & Norvig's Artificial Intelligence: A Modern Approach (Python implementation)
Academic
Hotel Reviews Classifier
Designed and trained an NLP ensemble model (SVM and Naive-Bayes) to classify hotel reviews by polarity (positive/negative) and veracity (truthful/deceptive) on a balanced dataset. Achieved 95% accuracy on sentiment and 87% on deception detection, with 88% overall on the final test set, outperforming other classifiers in the course.
Tech Stack ↓
Language
Python
NLP & ML
NLTKScikit-Learn
Data & Viz
PandasNumPyMatplotlibSeaborn
Academic
Autonomous Car Navigation Simulator
Simulated an autonomous car navigating a real campus map using a kinematic model, proportional trajectory controller, and visibility-graph path planning with Dijkstra's algorithm. GPS sensor noise was emulated from real-world Novatel data collected at IST Alameda.
Tech Stack ↓
Language
Python
Libraries
OpenCVPandasNumPyMatplotlibNetworkX
Academic
Regression & Image Classification
Implemented outlier-robust regression on synthetic data using Isolation Forest and IQR for detection, benchmarking regularised models (Ridge, Lasso, ElasticNet). Developed a CNN in TensorFlow/Keras to binary classify butterfly wing patterns, addressing class imbalance through augmentation and oversampling, achieving ~91% F1 score.
Tech Stack ↓
Language
Python
Deep Learning
TensorFlowKeras
ML & Data
Scikit-LearnPandasNumPyImbalanced-learn
Visualisation
MatplotlibSeaborn
Academic
Mobile Robot Localization
Implemented Monte Carlo Localization (MCL) on a real TurtleBot3 robot (with RPLIDAR laser range finder) using ROS, enabling autonomous real-time pose estimation (position + orientation) in an indoor environment at Instituto Superior Técnico. The solution leverages a particle filter to iteratively sample, weight, and resample particles based on sensor observations and motion updates.
Tech Stack ↓
Language
Python
Robotics
ROSGazebo
Libraries
NumPyMatplotlib
Academic
AirRoutes
Graph-based airline route optimizer in C, using Kruskal's MST and Union-Find to minimize costs while preserving full airport connectivity across five operational modes. Implemented custom data structures to handle vertices, edges and route information, with explicit memory management strategies for allocation and deallocation to ensure scalability on large graphs.
Tech Stack ↓
Language
C
Academic
Multi-Mode Poker Simulator
Terminal-based poker engine in C supporting up to 8 players, with full hand evaluation (High Card to Royal Flush) across 4 modes: poker-hand analysis, deck processing, tournament simulation with leaderboard, and deck shuffling. Custom data structures and sorting algorithms were implemented to optimise card ranking and scoring logic.
Tech Stack ↓
Language
C
Academic
2D Action-Platformer Game
Developed a pixel art 2D action-platformer featuring a three-class system where each class brings unique abilities, combat mechanics, and interactions. Showcased at MOJO game event, where it received highly positive feedback from players and gaming industry professionals.
Tech Stack ↓
Language
C#
Game Engine
Unity
Academic
FlushFlow: Startup Pitch
Ideated and pitched FlushFlow, a startup concept aimed at revolutionising the fan experience in stadiums through real-time crowd management. The proposed solution combined computer vision, AI prediction algorithms, and live heatmap visualisation to intelligently guide crowd flow. Presented as a full startup pitch including market research, business model, and technical solution.
José Epifânio da FrançaPhD, Imperial College LondonCo-founder & CEO, Chipidea (semiconductor IP) · CEO, Portugal VenturesBoard member of various technology companies in Portugal and abroadErnst & Young International Entrepreneur of the Year (Portugal)
Across all projects
My Tech Stack
Credentials
Certifications & Training
Official Certifications
In Progress... Soon :DView Certification Info
Issued Apr 2026 · Expires Apr 2027Verify on Credly
Issued Feb 2026 · Expires Feb 2029Verify on Credly
Parley · Volkswagen Group Services · Lisbonw/ Nuno Valente & Gustavo Calonico · 1h · Moderated by Catarina Pereira
AttendeeOct 2, 2025
AWS Tech Days Portugal: The Future of AI and Cloud Innovation
AWS Developers Day · Enterprise Only · Centro de Congressos de Lisboa
Workshops
WorkshopMar 10, 2026
Getting Started with AgentCore
AWS Immersion Day · Hands-on
WorkshopMar 10, 2026
Modernize Applications with Amazon Bedrock, AgentCore, Strand Agents, and MCP
AWS Immersion Day · Hands-on
WorkshopMar 10, 2026
AI That Remembers: Memory Systems for Site Reliability Engineering
AWS Immersion Day · Hands-on
Skills
Tech Stack
Languages & Tools
Python
C
C#
MATLAB
Git
Linux
Google Colab
Excel
Python
C
C#
MATLAB
Git
Linux
Google Colab
Excel
AI & ML
PyTorch
TensorFlow
Keras
Scikit-learn
NumPy
Pandas
Matplotlib
OpenCV
HuggingFace
LangChain
LangGraph
Groq
OpenAI
Bedrock
SageMaker
YOLO
Seaborn
NLTK
NetworkX
ROS
PyTorch
TensorFlow
Keras
Scikit-learn
NumPy
Pandas
Matplotlib
OpenCV
HuggingFace
LangChain
LangGraph
Groq
OpenAI
Bedrock
SageMaker
YOLO
Seaborn
NLTK
NetworkX
ROS
Databases
PostgreSQL
MySQL
MongoDB
SQL Server
DynamoDB
CosmosDB
Pinecone
OpenSearch
PostgreSQL
MySQL
MongoDB
SQL Server
DynamoDB
CosmosDB
Pinecone
OpenSearch
Cloud & Infra
AWS
Azure
Docker
Kubernetes
Terraform
AWS CDK
Boto3
Azure SDK
AWS
Azure
Docker
Kubernetes
Terraform
AWS CDK
Boto3
Azure SDK
Web & DevOps
Flask
GitHub
Bitbucket
Jira
Confluence
Streamlit
Gradio
Flask
GitHub
Bitbucket
Jira
Confluence
Streamlit
Gradio
Communication
Languages
PortugueseNative
EnglishFluent
GermanA2: Learning
The human side
Beyond the Code
Queen Tribute Band
Been playing piano since age 5, which eventually led to create a band and playing Freddie Mercury's parts in a Queen tribute band. Not Under Pressure :D ▶ piano videos on YouTube
Basketball Since Age 5
Started as a federated player at age 5, growing into a key player with national recognition and championships . Basketball built the mindset long before tech did: discipline, resilience and teamwork as a way of life. Still active today, sport never really left.
Friends & Board Games
Some of the best moments happen away from the screen: good friends, a board game like chess, no deadlines.
Games That Started It All
It started with a PC that couldn't run the games I wanted. Instead of giving up, I started asking why.. how do components work, what limits performance, how does software interact with hardware. That curiosity never stopped, and ended up pulling me into the world of IT. Now I have a proper setup, and some of the best moments are still gaming with friends.
At 14/15 years old, I was the protagonist of a Portuguese TV commercial for Mimosa. They needed a basketball player, turns out I was the selected one 😂.