Open to work ยท graduating Feb 2027

Hi, I'm

Ahmad Tawil

I build AI systems โ€” and measure whether they actually work.

Final-year Software Engineering student at Braude College. I build LLM applications, data pipelines and backend services end to end, and judge them by measurements rather than demos: evaluation suites, trap cases, cost tracking and honestly documented limitations.

ahmad@portfolio: ~

โฏ whoami

software engineer ยท AI systems ยท evals

โฏ cat status.txt

โ— open to work

โ— B.Sc. Software Engineering โ€” Feb 2027

โฏ ls projects/

diffwarden/bureaucracy-navigator/eval-hybrid-rag/driftwatch/

โฏ pytest -q

190 passed ยท across 4 repos

โฏ

  • Python
  • FastAPI
  • LangGraph
  • Claude
  • OpenAI
  • RAG
  • Qdrant
  • BM25
  • RAGAS
  • LoRA
  • Unsloth
  • vLLM
  • llama.cpp
  • Hugging Face
  • PostgreSQL
  • Airflow
  • SQLAlchemy
  • Docker
  • GitHub Actions
  • Vercel
  • Cloudflare
  • pytest

01

Selected projects

Four end-to-end builds โ€” each shipped with its own evaluation and measured results.

01Deployed ยท Sep 2026

DiffWarden

AI pull-request reviewer, running as a GitHub App

AI code reviewers are noisy: they comment on style, repeat themselves on every push and miss the lines that matter. DiffWarden only reports real bugs, security holes and performance problems โ€” and stays quiet on correct code.

  • HMAC-verified GitHub webhooks on FastAPI; replies 202 in 0.13โ€“0.22 s and reviews in the background.
  • LangGraph workflow with parallel batch review and a verifier pass; posts one review with inline comments and one-click โ€œCommit suggestionโ€ fixes.
  • Line-labelled diffs, JSON-schema outputs and content fingerprints, so comments land on the right line and are never repeated.
  • Python
  • FastAPI
  • LangGraph
  • Anthropic API
  • GitHub Apps
  • Vercel
  • GitHub Actions
  • pytest

CodeEval resultsPlayground

Example inline review comment
precision
100%precision
recall on 22 seeded bugs
95โ€“100%recall on 22 seeded bugs
per review, ~7 s
~$0.01per review, ~7 s
02Research + product ยท Sep 2026

Bureaucracy Navigator

A fine-tuned Hebrew LLM that explains Israeli bureaucracy

Kol Zchut has the answers people need about unemployment, taxes or dismissal โ€” but in long, formal Hebrew. Can a small open model, running on a laptop, answer in plain Hebrew, cite its sources and admit when it doesn't know?

  • Built a dataset from 287 Kol Zchut articles with a 12B teacher model (vLLM), then fine-tuned DictaLM 1.7B with LoRA (Unsloth + TRL) in ~20 minutes.
  • Telegram bot with RAG (multilingual-e5 + Qdrant), served locally as GGUF via llama.cpp โ€” no personal document leaves the machine.
  • Summarises PDFs and phone photos of official letters with OCR, Hebrew RTL correction and ID-number masking.
  • LoRA
  • Unsloth
  • TRL
  • vLLM
  • llama.cpp
  • Qdrant
  • FastAPI
  • Tesseract OCR

CodeModelPaper

Example conversation (Hebrew)
correct refusals
0% โ†’ 61%correct refusals
letter-format compliance
28% โ†’ 100%letter-format compliance
correct answers, 36% faster
2ร—correct answers, 36% faster
03Live explorer ยท Sep 2026

eval-hybrid-rag

Is hybrid retrieval worth it for RAG? A measured answer

Hybrid search is often recommended for RAG by default. Instead of eyeballing answers, I built the same pipeline three ways โ€” dense, BM25 and hybrid (RRF) โ€” and measured each on a multi-hop benchmark.

  • RAG over 609 news articles (17,653 chunks) with grounded, citation-enforced generation and JSON-schema validation.
  • 50-question benchmark with 10 unanswerable traps, scored with RAGAS, refusal rates, latency and paired bootstrap confidence intervals.
  • Dockerised FastAPI service with rate limits and a free retrieval-only fallback, plus a live explorer of every answer.
  • Qdrant
  • BM25
  • RRF
  • OpenAI API
  • RAGAS
  • FastAPI
  • Docker
  • pytest

Live explorerReportCode

Context recall

dense0.525

traps refused: 8/10

sparse (BM25)0.550

traps refused: 9/10

hybrid (RRF)0.625

traps refused: 9/10

Real results ยท 50 MultiHop-RAG questions, k = 5
context recall with hybrid
0.525 โ†’ 0.625context recall with hybrid
trap questions refused
9 / 10trap questions refused
retrieval vs 10โ€“12 s LLM
38โ€“83 msretrieval vs 10โ€“12 s LLM
04Data engineering ยท Aug 2026

DriftWatch

A watchdog for silent LLM quality drift and cost

LLM providers update models behind the same name without any error โ€” the API keeps returning 200 while quality shifts. DriftWatch treats evaluation as infrastructure that runs on a schedule and alerts when something changes.

  • Apache Airflow 3 pipeline (7-stage DAG, dynamic task mapping) that benchmarks OpenAI and Anthropic models on a versioned 40-task suite.
  • Deterministic and LLM-graded scoring, plus a rolling z-score drift detector with version-aware baselines and Slack alerts.
  • 9-table PostgreSQL schema with cost caps, idempotent re-runs and a zero-cost backfill DAG.
  • Apache Airflow
  • PostgreSQL
  • SQLAlchemy
  • Alembic
  • asyncio
  • Docker Compose
  • Slack
  • pytest

Code

#alerts ยท drift on reasoning
rolling 14-run baseline|z| โ‰ฅ 3
How an alert fires (illustration)
results, 0 failures
480 / 480results, 0 failures
false-positive rate
3.2%false-positive rate
fewer reads after indexing
~5ร—fewer reads after indexing

02

How I work

03

Research & notes

My papers, plus notes where I take apart other people's papers and my own experiments.

Visit the R&D page

04

Skills & tools

AI & LLM

  • RAG
  • LLM evaluation (RAGAS, LLM-as-a-judge)
  • Fine-tuning (LoRA, Unsloth, TRL)
  • LangGraph
  • OpenAI & Anthropic APIs
  • vLLM
  • llama.cpp
  • Qdrant
  • Structured outputs

Backend

  • Python
  • FastAPI
  • asyncio / httpx
  • REST APIs
  • Webhooks
  • GitHub Apps
  • Telegram Bot API
  • Pydantic

Data

  • PostgreSQL
  • SQL
  • SQLAlchemy
  • Alembic
  • Apache Airflow
  • Query optimisation (EXPLAIN)
  • Hugging Face Datasets

DevOps

  • Docker
  • Docker Compose
  • GitHub Actions
  • Vercel
  • Cloudflare
  • Git
  • uv

Testing & QA

  • pytest (190 tests across these projects)
  • Evaluation harnesses
  • Integration tests with mock servers
  • Regression suites
  • Error analysis

05

Education

06 ยท Get in touch

Let's build something that actually works.

I'm looking for a junior role in software, AI, backend, data or QA. Email is the fastest way to reach me.