Postgraduate in Applied Machine Learning
Deep Learning, Generative AI, Computer Vision, MLOps, Reinforcement Learning, Time Series, Robotics, AI Ethics.
Senior engineer and technology leader. A career across telecom, SaaS, biometrics, identity and passenger information systems. Hands-on with AI and Machine Learning systems, from architecture to deployment.
Senior engineer and technology leader building production systems across telecom, SaaS, biometrics, identity and passenger information systems. ISCTE Post-Graduation Certificate in Applied Machine Learning. Hands-on professional with a personal portfolio of MLOps, agentic and deep-learning systems, built on on-premises stack of open-source models at logus2k.com.
Postgraduate in Applied Machine Learning
Deep Learning, Generative AI, Computer Vision, MLOps, Reinforcement Learning, Time Series, Robotics, AI Ethics.
Law Degree Frequency
Live demos, source code and detailed reports for everything below are linked from logus2k.com.
Self-hosted MLOps platform integrating MLflow, Airflow, DVC, Hydra, MinIO, ChromaDB and ArcadeDB into a single collaborative web interface. Real-time multi-user notebook editing, multi-runtime Python 3.10–3.14 (including free-threaded variants), kernel management, virtual environments, model registry and serving.
Native LLM tool-calling via 24+ MCP-style tool schemas (read and write tiers with approval flow for write actions); trigger-based skill registry auto-injects curated instructions into the prompt; per-Domain capability scoping (each Knowledge Domain pins its own tools and skills). GraphRAG (entity extraction, community detection, sameAs identity merging, denormalized chunk grounding) and Vector RAG (bge-m3 + cross-encoder reranking) over per-Domain knowledge bases.
Inference runs locally on Gemma 4 E4B via llama.cpp; the LLM router also supports Anthropic Claude as an optional backend.
FastAPI · Socket.IO · Python 3.10–3.14 · CUDA · Docker Compose · MLflow · Airflow · DVC · Hydra · ChromaDB · ArcadeDB · llama.cpp · bge-m3.
Three coordinated services that form a fully on-premises AI agent platform:
/v1/chat/completions streaming facade. Local models behave as drop-in replacements for cloud APIs, hot-swappable per request via named presets (chat, judge, graph-answer, etc.).All inference on-prem. No external dependencies.
Python · FastAPI · Socket.IO · Hugging Face Transformers · llama.cpp · Whisper · Kokoro.
End-to-end voice-controlled YouBot in Webots. The pipeline is: voice input, STT, quantized LLM (SmolLM2-135M via llama.cpp), structured JSON command, robot action, ResNet-18 box-damage classification, and TTS confirmation. Three-mode state machine (standby, patrol, goto) with aisle-aware path planning, dual-camera inspection, real-time inventory updates broadcast to connected clients.
Four independent Docker services communicating over Socket.IO. Entirely on-prem, no cloud calls in the loop.
PyTorch · ResNet-18 · Webots · llama.cpp · FastAPI · Socket.IO.
Multi-label classifier for academic papers across 148 research domains. Independent per-class probability output (no softmax constraint) so an interdisciplinary paper can simultaneously belong to multiple fields, mirroring real research practice instead of forcing a single label. Companion case study using SciBERT for arXiv primary-subject prediction with hierarchical-domain analysis and confidence-based triage of ambiguous cases for human review.
PyTorch · Hugging Face Transformers · SciBERT.
Conditional MNIST generators benchmarked across four loss strategies (BCE, LSGAN, Hinge, WGAN-GP) with identical architectures and FID and KID evaluation. The best-performing model powers a real-time browser game scoring human-drawn vs generated digits via a trained MNIST classifier. Three difficulty levels with time pressure (2.0 s, 1.0 s, 0.5 s).
PyTorch · WGAN-GP · FID and KID · WebSockets.
Multivariate-input, univariate-output forecasting study on the Jena Climate dataset (10-minute resolution, 2009–2016). Predicts 24-hour air temperature using GRU and Transformer architectures under controlled conditions: temporal resampling, multi-step windowing, multi-horizon evaluation, hyperparameter exploration. Six input features (temperature, pressure, humidity, wind speed, max wind speed, wind direction), each paired with timestamps.
PyTorch · Keras · time-series preprocessing.
Comparative deep-RL study contrasting Deep Q-Network and Proximal Policy Optimization in the LunarLander-v3 environment. Identical environment settings and multiple random seeds; analysis combines learning curves, sample efficiency, cross-seed stability and qualitative landing-behavior evaluation from recorded simulations. Covers DQN's overestimation bias, ε-greedy exploration, replay buffer dynamics; PPO's clipping, GAE, and entropy-driven exploration.
PyTorch · Gymnasium · DQN · PPO · GAE.
Same Finite Element Method problem implemented across multiple execution backends (sequential CPU, multi-process and shared-memory CPU parallelism, Numba JIT, Numba CUDA, CuPy with custom raw kernels) under identical numerical formulation, discretisation, boundary conditions and solver. Numerical equivalence preserved across all paths, enabling apples-to-apples comparison of execution behaviour, performance and scalability. Containerised with platform-specific helpers and automatic CPU and GPU fallback.
Python · NumPy · Numba · CUDA · CuPy · Docker.
Python · FastAPI · WebSockets · pandoc · KaTeX · Mermaid.
Convolutional neural network for binary classification of chest X-ray images (pneumonia vs. normal). Full training pipeline with data augmentation, validation, and evaluation by accuracy, precision, recall and F1.
Python · PyTorch · CNN · medical imaging.
Web-based experimentation environment for classical computer-vision techniques: grayscale and colour-space conversions, resizing, rotation, Gaussian and median blurring, Canny and Sobel edge detection, binary and Otsu thresholding. High-performance aiohttp backend with non-blocking I/O; Socket.IO for real-time browser interaction.
Python · OpenCV · aiohttp · Socket.IO · WebSockets.
Personal infrastructure hosting the entire portfolio. ~15+ Docker containers across noted's MLOps stack, the agent stack (STT, TTS, orchestrator), the application gallery and the web frontend. Linux on WSL2, nginx TLS facade with Let's Encrypt, dynamic-DNS public address. Services auto-start at host boot, the site is available even when the developer is signed out.
Fully on-premises AI stack (Whisper, Kokoro, Gemma, bge-m3, bge-reranker, ArcadeDB, ChromaDB), no cloud-AI API dependency.
WSL2 · Docker Compose · nginx · Let's Encrypt · NoIP · systemd.
Head of Product Development
VP Engineering
Chief Digital Officer · 2019 – 2020
Chief Technology Officer · 2016 – 2019
Research & Development Director · 2016
SBD Team Lead