πββοΈ Vicio Di Cara 
Remember this: Try.
I build end-to-end AI systems (multi-agent RAG, computer vision, LLM fine-tuning) and currently complete an MSc in Applied Data Science & AI @ OPIT. Background in industrial B2B consulting, so I care about systems that ship and stakeholders who are not engineers.
There are 10 types of people in the world: those who understand binary and those who don't.
Automated malaria parasite detection and classification using YOLOv11 segmentation across 17 classes (4 species Γ 4 life stages). Microscopic blood smear images pass through an OpenCV preprocessing pipeline, reaching 62% mAP50 on multi-class segmentation. Full workflow: dataset conversion, augmentation, training with checkpoint management, real-time clinical inference.
Python PyTorch YOLOv11 OpenCV AWS Ultralytics
β repo
Multi-agent RAG chatbot for Alzheimer's care, built on FastAPI + Milvus + Redis. Adapts tone and terminology for three user roles (patient, caregiver, doctor) across four interface languages. Full-stack: Next.js frontend, multi-agent pipeline (RAGAgent then SupervisorAgent), Telegram and WhatsApp channels, and an optional fully offline deployment via Ollama.
Python FastAPI Next.js Milvus Redis RAG LLM Docker
β repo
Computer vision and deep learning system for Italian Sign Language (LIS). End-to-end ML pipeline: FFmpeg-based video augmentation, MediaPipe Holistic for 543-keypoint extraction, and a two-tier architecture. Static fingerspelling recognition (MLP / 1D-CNN) reaches 87.3% accuracy at 30+ FPS. Word-level recognition was explored as a research track using sequence models (Bi-LSTM, Transformer) and LLM-based gloss-to-Italian refinement (Gemma, Llama-3).
Python PyTorch TensorFlow MediaPipe OpenCV Bi-LSTM Transformer FFmpeg
A map of the deep learning architectures and ML systems I've applied across real projects, not tutorials but production pipelines.
| Architecture | Project | Details |
|---|---|---|
| YOLOv11 Instance Segmentation | π₯ Malaria AI Scope | 17-class parasite segmentation on microscopic blood smear images. Custom dataset pipeline with multi-format conversion (Masks/JSON/TXT to YOLO). Incremental learning support. 62% mAP50 |
| MediaPipe Holistic | π€ LisAI | Full-body landmark extraction: 468 face mesh + 33 pose + 42 hand points = 543 keypoints/frame. Spatial normalization relative to shoulder midpoint for scale and distance invariance |
| MLP / 1D-CNN (Static) | π€ LisAI | 63-dim input (21 hand landmarks Γ 3 coords). 3 Dense layers (256, 128, 64) + ReLU + Dropout(0.3). 87.3% accuracy on 26-class fingerspelling |
| OpenCV Preprocessing | π₯ Malaria AI Scope | Preprocessing pipeline for heterogeneous medical image datasets. Gaussian blur, brightness normalization, contour analysis |
| Architecture | Project | Details |
|---|---|---|
| Bidirectional LSTM (Bi-LSTM) | π€ LisAI | Sequence input: (T, 1662) feature matrix. Bidirectional layers let the model see future frames when classifying the current state, useful for signs where the ending disambiguates the beginning |
| Transformer (Multi-Head Self-Attention) | π€ LisAI | Long-range dependency capture across full gesture sequences. Parallel frame attention vs. sequential LSTM processing. Adam optimizer with decaying LR schedule |
| GRU | π€ LisAI | Evaluated alongside LSTM and Transformer as a lighter alternative for temporal gesture modeling |
| Forward Padding + Masking | π€ LisAI | Variable-length sign sequences (20 to 180 frames) unified via Keras masking layer, so backpropagation ignores padded frames |
| Architecture | Project | Details |
|---|---|---|
| Multi-Agent RAG Pipeline | π₯ Sherpa | Sequential RAGAgent β SupervisorAgent. Score-threshold filtering (cosine sim β₯ 0.55) prevents hallucinated citations. Conversational fallback when no chunks pass the threshold |
| LLM Fine-tuning (QLoRA) | β Mental D0C | Fine-tuned Qwen3 with Unsloth on 12,000+ synthetic mental health conversations. Instruction-tuning for clinical assessment dialogue |
| Gloss-to-Natural Language (LLM post-processing) | π€ LisAI | Local LLM integration (Gemma, Llama-3 via Ollama / LM Studio): LIS gloss to Italian grammar ("IO MANGIARE MELA" to "Sto mangiando una mela") and ambiguity resolution via sliding context window |
| Beam Search Context Engine | π€ LisAI | Rule-based module combining model confidence scores and a language frequency dictionary for most-likely word sequence decoding |
| Vector Similarity Search (Milvus) | π₯ Sherpa | FLAT index, COSINE metric, 1024-dim embeddings. Top-k=5 retrieval with score-threshold gate. Snapshot system for portable pre-computed vector DB |
| Architecture | Project | Details |
|---|---|---|
| Random Forest Classifier | β Drug Repositioning | 92% accuracy / precision / recall / F1 on an 84,400-sample biomedical dataset for novel drug-disease association prediction |
| K-Means Clustering | β Drug Repositioning | Identified 10 optimal semantic clusters in biomedical embedding space to surface hidden drug-disease patterns |
| Pattern | Project | Details |
|---|---|---|
| FFmpeg Video Augmentation Pipeline | π€ LisAI | Custom engine: geometric (H-flip for handedness swap, Β±15Β° rotation, scale jitter), temporal (0.8x to 1.2x speed), photometric (Gaussian blur, brightness) |
| Mixed Precision Training | π€ LisAI | FP16 training with checkpoint management for memory-efficient long-sequence model training |
| Incremental / Continual Learning | π₯ Malaria AI Scope | YOLOv11 training pipeline supporting incremental dataset expansion without full retraining |
| Multi-format Dataset Conversion | π₯ Malaria AI Scope | Unified ingestion from heterogeneous annotation formats (binary masks, COCO JSON, plain TXT) to YOLO segmentation format |
| Docker Multi-stage Build | π₯ Sherpa | Separate builder and production stages for Python backend and Node.js frontend. Non-root users, health checks, depends_on ordering |
| RAG Snapshot System | π₯ Sherpa | Export/import pre-computed Milvus vectors as portable JSON (with SHA-256 manifest). Eliminates re-embedding on fresh deployments |
class WhoAmI:
user = 'Vicio Di Cara'
role = 'AI / ML Engineer'
based_in = 'Palermo, Italy'
birth_fact = 'The first internet ping in Italy coincides with my birth'
studying = 'MSc in Applied Data Science & AI @ OPIT'
ai_portfolio = [
"π₯ Malaria AI Scope: YOLOv11 segmentation, 1st Place AWS University Engagement Program",
"π₯ Sherpa Alzheimer: multi-agent RAG chatbot, 2nd Place OPIT Hackathon 2026",
"π€ LisAI Interpreter: real-time LIS recognition (MLP/CNN letters 87.3%, Bi-LSTM/Transformer words)",
"β
Mental D0C: Qwen3 fine-tuned for mental health assessment (Unsloth)",
"β
Drug Repositioning: Random Forest + K-means, 92% accuracy",
"π Building AI agents to help others",
]
hobbies = [
"Surfing",
"Bouldering",
"Coding for Good",
]
def get_city():
return "Palermo, Italy"
def future_ambitions():
return "To travel the world, programming to help others."

