Mohammad Ahmed

I build AI systems end to end, from the model to the product.

Mohammad Ahmed, AI Engineer in Amman, Jordan

AI Developer at Baytonia, building conversational AI for customer support and sales. Outside work, I build full-stack AI projects with FastAPI, PostgreSQL and Next.js.

Ask my portfolio

Production AI work, not just side projects.

I currently build AI systems for customer support, sales and automation at Baytonia. Employer-specific details stay private; the projects below are the public record.

Current roleJun 2026 – Present

BaytoniaAI Developer

Building AI systems for customer support, sales and marketing automation, and running them in production.

Conversational AI
Built AI conversational agents for customer-support automation, using Claude and OpenAI models with RAG architectures.
RAG assistants
Developed and tuned LLM assistants that use retrieval, embeddings and semantic search to improve customer support and product-recommendation workflows.
Agents & multi-agent workflows
Built and integrated AI agents and multi-agent workflows for sales, support and design-automation scenarios, backed by Python services and LLM APIs.
Automation
Built n8n workflows that connect APIs, webhooks and business systems to automate customer communication, marketing and operations.
Reliability
Improved performance and reliability through model evaluation, prompt optimisation, API integrations and monitoring, and deployed AI solutions to production.
ClaudeOpenAIRAGEmbeddingsAI agentsn8nPython

Earlier experience

Nov 2025 – Mar 2026

AI Engineer Intern, Cyborg Automation Hub

AI solutions
Developed AI solutions in Python and TensorFlow using ML and deep-learning techniques.
LLM & RAG
Built and tested LLM and RAG pipelines for information retrieval and automation tasks.
Models
Worked on fine-tuning, preprocessing and AI workflow optimisation, and contributed to deployment and performance work.
PythonTensorFlowRAGFine-tuning

Feb – May 2025

RPA & Data Analysis Intern, Jordan Kuwait Bank

Automation
Learned and applied UiPath automation workflows for banking operations.
Analytics
Built Power BI dashboards and analysed financial datasets with SQL to support decision-making and reporting.
UiPathPower BISQL

Bachelor of Artificial Intelligence, Al-Balqa' Applied University. Graduated Jul 2025.

Selected projects, built end to end.

Chosen for what they show about engineering, not for size or stars. Each case study covers the problem, architecture and what was measured, with the limits highlighted. Everything is public on GitHub.

Flagship projectFull-stack platformWorking application · runs locally

AI Recruitment Assistant

A full-stack AI recruitment platform that helps recruiters turn CVs and job descriptions into structured data, match candidates to roles, and understand why each candidate scores the way they do.

AI Recruitment Assistant results page: ranked candidates with match score, ATS score, strengths and gaps

How it works

  1. 1

    CV + job description

  2. 2

    PDF text extraction

  3. 3

    Claude structured extraction

  4. 4

    Embeddings + skill/experience match

  5. 5

    Weighted score + analysis

  6. 6

    HR results and Q&A

Problem

First-pass CV screening is repetitive and inconsistent. A reviewer needs structured candidate data, a ranking they can explain, and a record of what each screening run actually did.

Solution

Two role-based experiences on one backend. HR creates and publishes jobs and triggers screening runs; candidates register, upload a PDF résumé and apply. Claude extracts structured requirements and résumé data, embeddings and rules produce a weighted score, and every run is stored with the weights it used.

Key capabilities

CV and job-description analysis
Claude extracts structured résumé data and job requirements through a schema-bound tool call, validated with Pydantic.
Hybrid candidate matching
Score = 0.5 semantic similarity (OpenAI embeddings) + 0.3 skill match + 0.2 experience.
Explainable results
Each candidate gets strengths, gaps and suggested interview questions, and each run stores the weights it used.
Grounded recruiter Q&A
Chat answers from stored screening results, so a conversation never silently changes a ranking.
Two roles, one backend
HR creates jobs and runs screening; candidates upload a PDF résumé and apply. JWT auth with role guards.

Architecture

Frontend
Next.jsTypeScriptTailwind CSS
Backend
FastAPIPydantic v2JWTpytest
AI
Claude (extraction, analysis)OpenAI text-embedding-3-small
Database
PostgreSQL 16SQLAlchemy 2 (async)Alembic
Infrastructure
Docker Compose

Evidence

  • Roughly 1,300 lines of pytest across auth, jobs, applications, profile, screening and the database layer.
  • Five Alembic migrations and a Docker Compose stack.
  • Falls back to token overlap if the embedding call fails, and records success or failure per candidate.
  • No ranking-accuracy or latency numbers yet. Those evaluations are the next step.

Doesn't do yet

  • Skill matching is a simple substring check, so short skill names can false-match.
  • The scoring weights are hand-chosen, not validated against labelled data.
  • Not deployed, and no public demo.

More case studies

Document AI service, Mar 2026

Offline Document Intelligence Studio

One FastAPI service that OCRs documents and runs local-LLM summarisation, extraction and question answering, with no cloud AI API.

Stack
FastAPIPythonTesseractOpenCVscikit-learnOllama
AI components
OCR with OpenCV preprocessing (denoise, deskew, threshold), Local LLM (Ollama, llama3.2) for chat, summaries and JSON extraction, TF-IDF retrieval for document Q&A, RandomForest classifier (Iris, as an assignment component)
Doesn't do yet
Retrieval is lexical TF-IDF, not neural embeddings.
Read case study
Gradio interface of the multi-LLM RAG assistant answering a question about hot peppers using a local Ollama model

RAG pipeline, Feb 2026

Multi-LLM RAG Assistant

One vector store, three model backends: ask the same grounded question to a local, a proprietary and a hosted open-source LLM.

Stack
PythonChromaDBLangChain loadersGradioOllamaOpenAI API
AI components
Dense retrieval with ChromaDB, Prompt-level grounding with an "I don't know" fallback, Runtime LLM provider routing
Doesn't do yet
Single source document, which is not included in the repo.
Read case study
Discover Jordan assistant: chat about Petra with a generated pop-art image and an audio waveform

Multimodal tool-calling agent, Dec 2025

Discover Jordan Assistant

A travel assistant that looks facts up in a database through function calling, then answers in text, voice and a generated image.

Stack
PythonOpenAI APISQLiteGradio
AI components
Function calling with a tool loop, Text-to-speech, Image generation
Doesn't do yet
Adapts a well-known course pattern to a Jordan theme.
Read case study

Experiments and learning

University and self-study notebooks.

More notebooks and experiments are on GitHub .

AI-powered systems for your business.

Each offer starts from a problem you probably have, says what I deliver, and links to the closest public proof.

  • AI chatbots & assistants

    Problem
    Your support or sales team answers the same questions all day.
    I deliver
    Conversational assistants for customer support and sales built on Claude or OpenAI models that answer from your own content.
    ClaudeOpenAIRAG
  • RAG & knowledge search

    Problem
    The answers are buried in documents nobody can search properly.
    I deliver
    Question answering over your documents and data, grounded in retrieved sources, with a refusal when the answer isn't there.
    EmbeddingsVector DBSemantic search
  • AI agents

    Problem
    A multi-step task needs live data, not just a chat reply.
    I deliver
    Tool-using agents that call your APIs and databases, including multi-agent workflows for sales, support and design-automation tasks.
    Function callingAgents SDKPython
  • AI workflow automation

    Problem
    People copy data between systems and send the same messages by hand.
    I deliver
    Automations that connect APIs, webhooks and business systems and put a language model where judgement or text is needed.
    n8nWebhooksREST APIs
  • Document AI

    Problem
    Scans and PDFs have to be read and keyed in by hand.
    I deliver
    OCR, summarisation and field extraction from scans and PDFs, including Arabic and English, with an option to run fully offline.
    OCROpenCVLocal LLMs
  • AI backends & integrations

    Problem
    A model demo works, but the app around it doesn't exist yet.
    I deliver
    Production APIs that put models behind authentication, validation and a database, so the AI part is something an app can rely on.
    FastAPIPostgreSQLDocker

How a project runs

  1. 1

    Understand the problem

    Write down who uses it, what they do today and what 'good' means before touching a model.

  2. 2

    Design the AI workflow

    Decide what the model must do, what code should do instead, and where retrieval or tools fit.

  3. 3

    Build the backend

    Typed APIs, a real database and migrations first, so the model plugs into something solid.

  4. 4

    Connect models and tools

    Schema-bound outputs, tool calls and fallbacks, so a bad response degrades instead of breaking.

  5. 5

    Evaluate

    Check outputs against known cases and compare before and after each change. Where a project has no metrics yet, its case study lists them as next steps.

  6. 6

    Ship

    Containerise, document the limits and put the source where people can read it.

  7. 7

    Iterate

    Use what the failures teach: a retry added, a fallback written, a weight recorded.

Have something in mind?Let's talk about it

What I work with, and where you can see it.

No percentage bars. Select any skill to see the projects that actually use it.

LLM engineering

Making language models dependable inside software.

Machine learning

Foundations from the degree and public notebooks.

Production

The software around the model.

Automation

Connecting models to workflows.

Engineer first, and a little stubborn about details.

I studied AI, and I like systems where software meets something that has to actually work: documents, customers, databases, other people's APIs.

Most of what I build now sits around language models. A model on its own is a demo. The product is the retrieval, the tool calls, the validation, the API and the interface that make it dependable.

I'd rather ship a small thing that runs and say honestly what it can't do yet than polish a diagram. Every project on this site links to its source, and each case study lists its limits.

Studied
Bachelor of Artificial IntelligenceAl-Balqa' Applied University. Graduated Jul 2025.
Certifications
Microsoft Azure AI Fundamentals (AI-900)Udemy: LLM Engineering & RAG, Agentic AI, n8n agents & automation, Power BI
Based in
Amman, Jordan
Into
LLM applicationsRAGAI agentsAutomationOCR & document AIPadel

Have an AI problem worth building?

Tell me what you're trying to automate, understand or ship.