Overview
Technical skills
Timeline
Multi-agent AI system designed to automate the analysis of medical literature and answer complex clinical questions with full source traceability.
LangGraph-orchestrated architecture with four specialized agents:
* Agent 1 — Document Intelligence: semantic search in ChromaDB using sentence transformers
* Agent 2 — Research Analyst: structured information extraction based on the PICO framework (Population, Intervention, Comparison, Outcome)
* Agent 3 — Synthesis: cross-paper comparison, contradiction detection, and consensus identification
* Agent 4 — QA Agent: evidence-based answers with source citations and confidence scoring
Key features:
→ PubMed API integration for automated paper ingestion
→ FastAPI REST API with synchronous and asynchronous modes
→ Streamlit dashboard with real-time pipeline visualization
→ Docker containerization for reproducible deployment
Stack: LangGraph · Mistral AI · ChromaDB · sentence-transformers ·
FastAPI · Streamlit · PyMuPDF · Docker · Python
https://github.com/HatimOMp/medgenai-clinical-assistant
End-to-end MLOps platform covering the entire machine learning model lifecycle.
How it works:
→ Experiment tracking with MLflow: four machine learning models (Random Forest, Gradient Boosting, Logistic Regression, and SVM) are compared, with automatic logging of hyperparameters and performance metrics
→ Model serving through a FastAPI REST API exposing `/predict`, `/predict/batch`, `/health`, and `/experiments` endpoints with automatically generated OpenAPI documentation
→ Streamlit dashboard for experiment visualization, model comparison, and real-time prediction testing
→ Docker containerization for fully reproducible deployment
Key engineering decisions:
→ Pydantic for strict request validation across API endpoints
→ Plotly for interactive model performance visualizations
→ MLflow Model Registry for model versioning and rollback support
Stack: MLflow · FastAPI · Scikit-learn · Docker · Streamlit · Plotly · Pydantic · Python
https://github.com/HatimOMp/mlops-platform
Full RAG pipeline built entirely from scratch without LangChain or any high-level framework to answer questions about any PDF document with page-level source traceability.
How it works:
→ PDF ingestion and text extraction using PyMuPDF
→ Text is split into overlapping chunks to preserve context across segment boundaries
→ Each chunk is embedded using Mistral AI (1024-dimensional embeddings) and indexed in a FAISS vector store
→ For each query, the most relevant chunks are retrieved and passed to Mistral AI for answer generation
→ Responses include precise page-level citations, allowing users to verify the source of every piece of information
→ Multi-turn conversational memory enables follow-up questions while preserving the full conversation context
Key technical decision:
→ Built without LangChain to gain full control over every stage of the pipeline, including chunking strategy, embedding generation, vector indexing, and retrieval logic
Stack: Mistral AI · FAISS · PyMuPDF · Streamlit · Python
https://github.com/HatimOMp/rag-pdf-chatbot
End-to-end pipeline combining classical computer vision and deep learning to extract and structure handwritten digits from document images.
How it works:
→ Image preprocessing with OpenCV: adaptive thresholding to handle uneven lighting conditions, followed by morphological operations for noise removal and image enhancement
→ Contour detection to isolate individual digit regions within each document
→ Each detected region is classified by a CNN model (TensorFlow/Keras) trained on the MNIST dataset, achieving 99.22% classification accuracy
→ Structured predictions exported in CSV format
→ End-to-end application deployed with Streamlit
Key engineering consideration:
→ The project includes an in-depth discussion of domain shift, the gap between the clean MNIST benchmark dataset and real-world document images and its impact on model performance in production environments
Stack: OpenCV · TensorFlow · Keras · Streamlit · Python
https://github.com/HatimOMp/mnist-digit-recognition
Variational Autoencoder (VAE) trained on the CelebA dataset (200,000+ images) to generate realistic human faces and explore the latent representation space.
How it works:
→ The encoder compresses input images into a structured latent space, learning a probability distribution by predicting the mean and variance instead of a single latent vector
→ The reparameterization trick enables backpropagation through the sampling process, allowing the model to be trained end-to-end
→ The decoder reconstructs realistic facial images from sampled latent vectors
→ Latent space interpolation generates smooth transitions between two faces by linearly interpolating between their latent representations
→ End-to-end application deployed with Streamlit for interactive face generation and latent space exploration
Key engineering concept:
→ The project demonstrates probabilistic latent representations and generative modeling, highlighting how continuous latent spaces enable meaningful interpolation and the generation of novel, realistic samples
Stack: TensorFlow · Python · Streamlit
https://github.com/HatimOMp/vae-face-generation
Computer vision web application capable of automatically detecting, analyzing, and digitizing photographed documents.
What I built:
→ Automatic document boundary detection using perspective transformations with OpenCV
→ Image correction and enhancement using NumPy and image processing techniques
→ TensorFlow-based machine learning model to improve document detection accuracy
→ Conversion of processed images into PDF documents using img2pdf
→ Web application built with Flask, Bootstrap, and Jinja, providing a responsive interface and seamless interaction between the user and the backend
Stack: Python · OpenCV · TensorFlow · NumPy · Flask · Bootstrap · Jinja · img2pdf
Full-stack e-commerce web application covering all components of a modern software architecture from the user interface layer to data persistence.
What I built:
→ Product catalog homepage, secure authentication module, and user account creation system
→ Responsive and user-friendly interface built with HTML5, CSS, and Bootstrap
→ Business logic and application layer developed using Java EE
→ Data persistence management through Hibernate ORM
→ Relational database integration (MySQL / Oracle Database) using SQL for product and user data storage
Stack: Java EE · Hibernate · MySQL · Oracle Database · SQL · HTML5 · CSS · Bootstrap
Intelligent driver drowsiness detection system combining computer vision and deep learning to improve road safety through real-time monitoring.
What I built:
→ Real-time face and eye region detection using Haar Cascade classifiers with OpenCV
→ Visual feature extraction and processing using NumPy and image processing techniques
→ CNN model (TensorFlow/Keras) classifying the driver's state: alert or drowsy
→ Automatic audio alert triggering when drowsiness is detected (Pygame)
→ Modular architecture designed to adapt to other monitoring scenarios, such as hand-on-wheel detection or automated emergency stopping systems
Stack: Python · OpenCV · TensorFlow · Keras · NumPy · Pygame
Rest API
FAISS
LoRA
Embeddings
Mistral SDK
PEFT
QLoRA
Falcon
NumPy
Docker
LLM
RAG
Vector
- Develop RAG-based search and multi-agent prototypes where retrieval, citation and traceability are primary requirements.
- Build document intelligence systems (OCR + post-processing) and productionize ingestion pipelines using the existing PDFProcessor and VectorStore patterns.
- Own end-to-end POCs that integrate LLMs, embeddings and lightweight serving (FastAPI + Streamlit) while hardening deployment (CI/CD, monitoring) progressively.
- Avoid assigning large-scale distributed training, low-level CUDA optimization or formal ML research tasks without additional evidence of profiling and experiments.
LangChain
Chroma
OpenCV
Sentence-Transformers
MLFlow
Power BI
Mistral
Pandas
TF-Keras
Streamlit
- Develop production ETL components that include unit tests and integration tests around PDF ingestion and vector-store writes (focus on pdf_processor.py and vector_store.py).
- Add reproducibility and CI - pin exact environment (lockfile), add tests and pipeline scripts to reproduce model training and vector-store builds.
- Implement model evaluation best practices - cross-validation, calibration plots, and more rigorous uncertainty quantification for the QA and digit pipelines.
- Harden production endpoints - validate inputs, narrow exception handling, and add logging/metrics for the FastAPI endpoints.
Python• Middle • 4y+
FastAPI
Pydantic
Uvicorn
Requests
- Develop production-grade ML APIs and services - add OpenAPI contracts, versioning, idempotency keys and explicit error response schemas for the /analyze and /ingest endpoints.
- Harden ingestion and vector pipelines - add retry/backoff with jitter, rate limiting or queue-based ingestion (Celery/RabbitMQ) and metrics around embedding throughput and latency.
- Add observability and reliability - structured logging with correlation ids, Prometheus metrics, health endpoints and graceful shutdown handling for long-running model calls.
- Convert prototype agents into testable components - add unit and integration tests, and CI pipelines to validate behavior and prevent regressions during model and schema changes.
