I build AI pipelines, web backends, data tools, and automation — and deploy them on AWS and Azure.
The projects on this site span sentiment classifiers, churn predictors, stock trend models, Flask applications, and a RAG assistant you can talk to right now — all built from scratch, all running in production. No team, no employer, just consistent daily work and a high bar for what ships.
Currently
Open to AI engineering and MLOps roles — Madrid or remote. Available immediately.
Featured Projects
A few highlights from across Web, Data, Software, and AI/ML.
AI Portfolio Assistant
WebI built a conversational AI assistant directly into my portfolio site. Recruiters and visitors can ask anything about my projects, skills, and background — and get grounded, cited answers in real time, powered by RAG (Retrieval-Augmented Generation) and Llama 3.3 70B via Groq.
CNN Food Classifier
Ai-mlI built a convolutional neural network that classifies food images into 101 categories using two-stage transfer learning with MobileNetV2. Upload any food photo and get instant top-3 predictions with confidence scores — live on Hugging Face Spaces.
Stock Trend Pattern Recognition — Amazon SageMaker MLOps
Ai-mlStacked LSTM for stock trend pattern detection, served via Amazon SageMaker Real-Time Endpoint. Flask frontend on Azure App Service — multi-cloud MLOps. Pattern detection only, not financial advice.
AWS Lambda & Amazon Bedrock: Benchmarking TF-IDF, LSTM, and Zero-Shot LLM Sentiment Analysis
Ai-mlA full ML pipeline benchmarking TF-IDF + Logistic Regression, a Keras LSTM, and Claude Haiku via Amazon Bedrock on 50,000 IMDb reviews. The winning model is deployed live as a serverless REST API on AWS Lambda with a Flask frontend.
Boston House Price Predictor
Ai-ml1970s Boston house price predictor. Linear regression on 13 features with log-transformed target (test r²=0.74). Live slider UI on Azure; full analysis in rendered notebook.
Customer Segmentation — Telco Archetypes
Ai-mlUnsupervised segmentation of 7,043 Telco customers into five behavioural archetypes using K-Means and Hierarchical Clustering. Input a customer profile to receive a segment label, a plain-English placement explanation, and a dynamically generated retention strategy.
Telco Customer Churn Predictor
DataChurn prediction with plain-language risk explanations a retention team can act on. Logistic Regression wins (ROC-AUC 0.8362), benchmarked against Amazon Bedrock Claude Haiku 4.5 zero-shot — tied at 70%. Flask API on Azure.
SMS Spam Classifier
Ai-mlSMS spam detection comparing three approaches — Naive Bayes, SVM, and Amazon Bedrock (Claude Haiku zero-shot) — on the same test set. Every prediction comes with a plain-English explanation of the words that drove it. Class imbalance addressed explicitly. Deployed on Azure App Service.
Programming Language Workforce Strategy — Data Analysis
DataStack Overflow lost 97.7% of its post volume since 2016 — and its momentum now anti-correlates with hiring demand. This project proves the signal is broken, then builds a four-source replacement index to answer which languages to hire for.
Professional Portfolio Site
WebFull-stack Flask portfolio with a custom admin dashboard, PostgreSQL, a REST API, an AI assistant powered by RAG, Cloudflare R2 media storage, and CI/CD deployment to Railway via GitHub Actions.
Stock Trading News Alert
SoftwareMonitors a stock's daily price change and fires WhatsApp alerts with the top 3 news headlines via Twilio whenever the move exceeds a configurable threshold.
Workout Tracker
SoftwareLog workouts to Google Sheets using plain English. A local LLM parses your session, calories are calculated via the MET formula, and each exercise is written as a timestamped row — no manual entry.
Digit Recognizer — CNN on MNIST
Ai-mlDraw a digit on the canvas — the CNN predicts it in real time. Trained on 60,000 MNIST images. Confidence score and probability bar chart across all 10 digits. Live on Azure App Service.
LLM Document Summarizer — LLMOps with Amazon Bedrock
Ai-mlPDF document summarizer using Amazon Bedrock (Claude Haiku) with production LLMOps patterns: versioned YAML prompt templates, automated ROUGE evaluation, Bedrock Guardrails for PII redaction, and MLflow tracking of every inference call. Deployed on Azure App Service.
Email Subject Generator — T5 Transformer
Ai-mlT5-small fine-tuned on the AESLC corpus (14k Enron email/subject pairs) to generate professional subject lines from an email body. Five suggestions returned at varying temperature levels — from beam-search conservative to top-p creative sampling.
What you'll find here
ML systems and RAG pipelines built on real AWS and Azure infrastructure — not notebooks, not local scripts.
Amazon Bedrock benchmarked against trained classifiers across four different task types, with published results and a consistent conclusion.
A SageMaker MLOps pipeline running the full loop: Training Job, Model Registry, Real-Time Endpoint.
Flask web applications with PostgreSQL, REST APIs, CI/CD, and Docker — deployed to production and live.
Focus areas
Web
Flask applications built to production standard — PostgreSQL, REST APIs, CI/CD pipelines, Docker, and custom admin dashboards. Live and database-backed.
Data
Exploratory analysis, data cleaning, and visualisation across real datasets — Pandas, NumPy, Matplotlib, Seaborn, Plotly. Patterns found, questions answered, results communicated clearly.
Software
Modular Python built to last — FastAPI services with Pydantic validation, Docker Compose multi-service stacks, CLI tools, and automation scripts. Clean structure throughout.
AI / ML
A full SageMaker MLOps pipeline from training job to real-time endpoint. Amazon Bedrock benchmarked against classical ML across sentiment, spam, churn, and time series tasks. A production RAG assistant — LangChain, ChromaDB, Groq — deployed and live on this site.
Want to see everything?
Browse the full projects list — filtered by category, stack, or tag.