AI Engineer — agentic systems, retrieval, and the backend that makes them usable.
I build LLM systems where retrieval, the agent loop, and the API around them are engineered rather than demoed: explicit state, typed tool calls, tests that run without an API key, and READMEs that state the trade-offs.
A from-scratch tour of retrieval design: multi-query, RAG-Fusion, HyDE, step-back prompting, query decomposition, logical routing, structured queries, multi-representation indexing, RAPTOR-lite, ColBERT, cross-encoder re-ranking, extractive and contextual compression, and hybrid BM25 + dense search.
Each repository is standalone — its own core.py, sample corpus, README, and
offline tests that use deterministic fake embeddings, so the suite needs no
key and no network. Start with
rag-from-scratch.
Python · LangChain v1 · Chroma · rank-bm25 · RAGatouille · pytest · ruff
LangGraph supervisor and handoff workflows coordinating research, reviewer, writer, and coder agents over shared state. Includes RAG over Chroma, FAISS, and pgvector, web and arXiv retrieval, and a FastAPI entry point.
LangGraph · LangChain · FastAPI · pgvector
- Typed boundaries instead of prompt glue. Pydantic schemas and
Literalroutes in place of substring-matching model output. - Retrieval is a design decision. Chunking, fusion, and re-ranking are chosen per corpus, and the cost is measured — not defaulted.
- Tests before trust. Offline harnesses exercise the full path with fake models, so a failure is reproducible without spending tokens.
- Docs that admit limits. Every demo says what it does not solve.
The tools behind the repositories above:
LLMs & agents
Retrieval
Backend
Infrastructure & testing
Also worked with: Django/DRF, n8n, AWS, Kubernetes.
Software engineer at Alef for Software Development, deepening retrieval evaluation and agent observability.
Open to AI engineering roles — LinkedIn or Abdelrahmanhamdy01@aswu.edu.eg.