Hi, I'm ANAS

an AI engineering student driven by exploring models and building intelligent applications

Contact Me
Stylized creator portrait

About me

I'm Anas, an AI engineering student at ESSAI. My foundation is statistics, linear algebra, and probability. I work on machine learning workflows, RAG and GraphRAG assistants, and recommendation systems, while actively developing my skills in AI agents. I also bring strong knowledge and project experience in quantitative finance, credit risk modeling, and financial engineering. I like connecting rigorous models with real business problems.

Services

00

Data Science Foundations

Strong foundations in statistics, linear algebra, and probability. Turning data into testable ideas through exploration, data preparation, and model prototyping.

01

MLOps & Model Integration

Understanding machine learning models from the fundamentals and bringing them into applications through reproducible workflows, evaluation, and CI/CD pipelines.

02

RAG & GraphRAG Systems

Working on the core of AI assistants: retrieval, knowledge organization, and grounded responses using RAG and graph-based retrieval approaches.

03

Recommendation Systems

Building product discovery and recommendation experiences for e-commerce, connecting user preferences with semantic relevance and practical constraints.

04

AI Agents & Agentic Systems

Actively learning and developing agent-based projects, exploring tool use, multi-step reasoning, and coordinated workflows for useful automation.

05

Quantitative Finance

Strong knowledge of quantitative finance, risk management, and financial engineering, with credit risk modeling projects and a business-focused approach to data.

Tools behind the ideas

My techstack

The technologies I build and experiment with.

Move your pointer to nudge the spheres

Projects

01

Multimodal AI Search

Fathom

Product discovery through text and images, with retrieval quality measured beyond the demo.

Fathom: an LLM fixes a typo-laden query and extracts a hard $80 budget; a panel shows each pipeline step with its server timeFathom: photo search ranks the exact pictured sandal first
Fathom: product page with similar products

Fathom

Product discovery through text and images, with retrieval quality measured beyond the demo.

  • FastAPI
  • Qdrant
  • CLIP
  • Next.js
  • Azure

The problem

Help people search a catalog of 35,736 products with an imperfect description or a photo, while respecting explicit price constraints.

The engineering

Dense, BM25 and CLIP retrieval are fused with reciprocal rank fusion. A cross-encoder reranks the top 30 candidates. Query understanding extracts hard price filters; category predictions remain soft boosts so classification errors do not exclude useful results.

The evidence

The repository reports NDCG@10 of 0.813 for the full pipeline versus 0.745 for BM25 on a partial 49-query, LLM-judged evaluation. These are offline results, not a measured production uplift. Data-contract checks and explicit degraded-mode fallbacks support the pipeline.

The tradeoff

Reranking improves ordering but adds latency. The evaluation is still partial, and the free-tier API can take time to wake from a cold start.

Live demo View on GitHub
02

Full-Stack Meal Planner

NutriCook

A meal planner with an auditable domain core and AI explanations kept separate from calculations.

NutriCook landing page: five meals a day, planned around youNutriCook on mobile: today’s calorie ring and 30-day weight progress
NutriCook today view: planned meals with macros, swaps and eaten tracking

NutriCook

A meal planner with an auditable domain core and AI explanations kept separate from calculations.

  • Java
  • Spring Boot
  • PostgreSQL
  • React
  • Docker

The problem

Turn profile preferences, dietary constraints and a food catalog into a repeatable daily meal plan that users can swap and track.

The engineering

A deterministic Java domain core composes meals and validates changes. The language model explains or proposes; model-written nutritional values are never stored as calculated facts. Database constraints enforce one active plan per user and day.

The evidence

The repository documents 76 business rules linked to tests, property-based testing across generated profiles, PostgreSQL integration tests and CI coverage gates. A seeded composer makes a plan reproducible for the same inputs.

The tradeoff

A curated 84-food catalog keeps the rules inspectable but limits variety. This is a software planning project, not a clinically validated nutrition system; the hosted backend may also need a cold start.

Live demo View on GitHub
03

Financial Document Intelligence

Ledger Orchestrator

From financial PDFs to reviewable Excel workbooks, with traceable evidence and accounting controls.

From source evidence to human review

  1. 01PDF & OCR
  2. 02Evidence validation
  3. 03Excel controls
  4. 04Human review

Python / LangGraph / SQLite / Docker / LibreOffice

Ledger Orchestrator

From financial PDFs to reviewable Excel workbooks, with traceable evidence and accounting controls.

  • Python
  • LangGraph
  • SQLite
  • Docker
  • LibreOffice

The problem

Financial statement extraction must preserve periods, units and source locations, while distinguishing missing information from a published zero. A spreadsheet is only useful when its values can be traced back to evidence.

The engineering

Deterministic specialist agents run in dependency order and stop downstream work on failure. Extraction and validation precede controlled workbook writing and LibreOffice recalculation. A LangGraph review desk uses SQLite checkpoints to record human decisions; an optional local copilot explains selected report facts without approving values or editing the workbook.

The evidence

The repository documents a STAR reference workflow for 2023–2025 and 88 tests covering evidence gates, missing-versus-zero rules, conflicts and workbook preservation. Its reference output is explicitly marked needs_review, with incomplete balance-sheet coverage rather than a claim of complete extraction.

The next step

Qualify additional company layouts and build an independently reviewed reference dataset. This local-first prototype processes supplied documents; broader extraction accuracy has not yet been established.

View on GitHub
04

AI-Assisted VM Automation

NexVM

Manage local VirtualBox machines through a web portal and validated natural-language commands.

From a request to a validated VM action

  1. 01User request
  2. 02Structured action
  3. 03Schema validation
  4. 04VM service

FastAPI / Next.js / Supabase / Pydantic / VirtualBox

NexVM

Manage local VirtualBox machines through a web portal and validated natural-language commands.

  • FastAPI
  • Next.js
  • Supabase
  • Pydantic
  • VirtualBox

The problem

Bring virtual-machine operations into one interface, with direct controls and a natural-language command path for a local VirtualBox host.

The engineering

A Next.js portal connects to FastAPI and Supabase authentication. The AI service asks Groq for a structured action, checks an allowlist and validates parameters with Pydantic before dispatching a service method. The model does not execute shell commands. AI deletion requests produce a proposal for user confirmation.

What it demonstrates

A full-stack integration of authentication, structured model output and infrastructure operations. The repository includes command-service tests, a VBoxManage wrapper, database migrations and separate integration tests for a real VirtualBox host.

The next step

Evaluate command accuracy and ambiguous requests on a dedicated test set, then document a verified host setup. This is a single-host development prototype requiring its own VirtualBox installation and configured services.

View on GitHub
05

Recommendation Prototype

Laptop Recommender

Explore Tunisian laptop listings and rank alternatives from hardware preferences.

Inside the recommendation pipeline

  1. 01Catalog data
  2. 02Feature scaling
  3. 03Cosine similarity
  4. 04Top 5 matches

Python / pandas / scikit-learn / Streamlit

Laptop Recommender

Explore Tunisian laptop listings and rank alternatives from hardware preferences.

  • Python
  • pandas
  • scikit-learn
  • Streamlit

The problem

Make laptop comparisons easier by bringing price, RAM, storage and gaming preferences into one exploratory interface.

The engineering

A Streamlit app filters the catalog, converts storage to GB and standardizes four numerical features. Cosine similarity compares the preference vector with filtered products to return five candidates. Charts expose price distributions and brand comparisons.

What it demonstrates

An end-to-end learning prototype connecting data preparation, exploratory analysis and content-based recommendations. The repository includes catalog CSVs, a scraping script and an analysis notebook.

Next iteration

The recommendation budget is currently a similarity feature, not a strict cutoff. Enforcing it as a hard constraint, handling empty selections, replacing the machine-specific data path and adding relevance evaluation are the next improvements.

View on GitHub
Always learning

Certifications