Skip to content
View ahmeddoghri's full-sized avatar

Block or report ahmeddoghri

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ahmeddoghri/README.md

Ahmed Doghri

Senior AI Engineer β€” RAG, multi-agent orchestration, LLM evaluation, and MLOps. 8+ years shipping production LLM and ML systems in regulated domains (pharma / FDA, banking / fintech, B2B), plus the unglamorous data engineering that keeps them running in production instead of just in a demo.

I care about one thing in AI engineering: claims you can check. The systems below run end to end; the benchmarks regenerate their own numbers. No API keys, mystery services, or copied paper results. The same discipline spans LLM infrastructure and agents through bioinformatics, genomics, vision, and audio.

🟒 Open to senior / staff / lead AI & ML engineering roles (IC or founding) and AI-product roles β€” remote, or relocation for the right team. β†’ adoghri.com

πŸ’Ό Professional Work

Real systems shipped in regulated and B2B environments. Proprietary, not open source, but the discipline behind them is exactly what the repos below are built to demonstrate.

Project Description
LLM-Powered Regulatory Submission Automated FDA submission process using 7+ LLM pipelines, reducing errors by 60%.
AI-Driven RAG System NLP-powered retrieval-augmented generation system for pharmaceutical documents.
Streaming Data Platform Real-time event-driven ML pipeline on Kafka, Spark, and Flink.
Biomedical Text Enrichment Transformer models enriching research papers with biomedical insights.

🚒 Systems You Can Run End To End

These are not notebook demos. Each one has a usable interface, a backend or CLI, persistence where the product needs it, tests, and a documented local or containerized run path.

Repo What ships Check it
spanjudge OTLP agent-trace receiver, SQLite store, operational dashboard, JSON API, CLI, Docker image, and regression policy gate Six spans rebuild three traces; the fixture passes latency, error, cost, and eval release limits
vrsbridge VCF parser, GA4GH VRS 1.3 translator, equivalence engine, browser workbench, JSON API, CLI, and Docker image Four VCF encodings collapse into two normalized molecular variants

πŸ”¬ The Trust Layer

Ten local-first systems I wanted to exist: tools that decide what to trust across biology, agents, media, and audio. Each ships a CLI, JSON API, browser workbench, Docker image, tests, and an explicit boundary around what its result does not prove.

Theme Repo What it checks Demo result
Spatial biology spatialniche Cell-type neighborhood enrichment against a permuted null Tumor neighborhood z = 5.10 across 250 permutations
Protein structure structuregrade Per-residue pLDDT bands and inter-residue geometry Grade C, mean pLDDT 71.88, two residues below 50
CRISPR genomics crisprradar Both-strand SpCas9 NGG mismatch and seed risk 1 exact + 2 off-target sites across 149 bases
Clinical genomics phenopacketlint GA4GH Phenopacket semantic exchange readiness Three phenotype assertions, quality score 100
Agent security mcpinterlock MCP tool authority, paths, approvals, secrets, and SSRF One call denied with 2 independent violations
ML privacy unlearnaudit Unlearning leakage against retained utility Original metric was a self-lookup tautology; leave-one-out correction finds no detectable leak
Video privacy videoprivacy Tracked redaction through detector gaps 10 regions, two identities, one gap filled
Media provenance manifestlens C2PA ingredients, actions, signatures, and hard binding One ingredient, three actions, valid hard binding
Audio delivery loudnessgate EBU R128 loudness, range, peak, and normalization -18.4 LUFS, with a measured +2.4 dB correction
Music libraries audiocatalog Chromaprint duplicates across renamed or transcoded files One duplicate at 99.48% similarity

⚑ The Frontier Lab

Ten useful experiments at the edge of current ML engineering. Every result below comes from the committed fixture or an actual generated media artifact, not from the source paper.

Theme Repo End-to-end job Demo result
Genomics strandshift Audit sequence models across strand and window transforms 18 views, prediction range 0.3273 after fixing a strand-orientation bug
Rare disease phenorank Rank HPO disease candidates and test stability Top score 0.6334, stable 3/3
ML security tensorwarden Scan real checkpoint containers without loading them Safe artifact accepted; 2 quarantined
LLM privacy cacheisolate Reproduce and stop cross-tenant cache timing leakage 86 ms oracle removed with useful reuse retained
RAG security ragpoisonbench Inject corpus poison and test provenance quarantine Recall 1.0 β†’ 0.0 β†’ 1.0
3D vision splatgrade Parse and grade Gaussian Splat PLY artifacts Grade D / 49, every defect localized
Generated video physicsvideo Render MP4 scenarios and audit physical consistency 4/4 faults, 0 false positives
Multimodal media avsyncdoctor Detect and repair offset plus clock drift 120 ms, 5,000 ppm, repaired below 40 ms
Audio engineering codecguard Run real codec round trips behind a CI quality gate Clean build passes; degraded build fails 4/4 gates
Robot safety safepathshield Project policy actions onto a barrier constraint Collision steps 39 β†’ 0, goal still reached

πŸ† Flagship Open Source

Six focused repos that isolate the hard parts of shipping LLM systems: cost, safety, hallucinations, memory, evals, and injection defense.

Repo What it proves Result
vllm-cost-router Complexity-based routing, caching, and batching in front of vLLM 73% lower cost and p95 latency vs. always-large-model serving
guardrail-gate PII redaction + citation grounding + rate limiting in one pass Adversarial suite found the original grounding check missed 6/8 hallucinations; fixed check scores 85% on the same set (was 46%)
semanticentropy Hallucination detection via semantic entropy (Farquhar et al., Nature 2024) Consistent answers score 0.08, hallucinations 0.90. No labels, no judge model
injectguard Prompt injection and jailbreak detection with explainable verdicts 100% precision and recall on a red-team corpus of attacks and lookalikes
agentmem Bounded, self-consolidating long-term memory for LLM agents Salience-gated writes, decay-aware retrieval, a hard budget it actually respects
citebench What reranking actually buys you in citation-grounded RAG The published 62% β†’ 88% lift was filename leakage; blinded content-based reranking still reaches 100%, zero fabricated citations

🧬 Five Research Themes, Ten Working Reproductions

Current research reduced to one mechanism, one baseline, and one number you can rerun. Every repo is MIT licensed, standard-library Python, and tested on 3.9, 3.11, and 3.13.

Theme Repo What it proves Reproduced result
Bioinformatics cellcontext Cellular context matters for perturbation response MAE 0.2699 β†’ 0.1813
Bioinformatics foldcontact Contact constraints keep protein infilling fold-aware Satisfaction 34.5% β†’ 100%
Genomics pangraphmap Pangenome paths recover structural-variant reads a linear reference loses Published 6/25 β†’ 25/25 was a tautology (error-free reads); with realistic sequencing error, gain holds at ~58pt mean across 65 seeds
Genomics methyloadapt Conserved motifs transfer when target-species labels run out Accuracy 50% β†’ 100%
Machine learning driftfilter Forward-only prototypes follow gradual deployment drift Accuracy 77.9% β†’ 100% at the shipped drift rate; a position-only EMA falls to 68.6% at 4.4x faster drift, fixed with velocity tracking
Machine learning taskrouter Routing preserves specialists that static merging averages away MAE 1.399 β†’ 0.276, an 80.2% reduction with a real noise floor (a 0.000 MAE would have meant the benchmark couldn't fail)
Vision + video distractrack Motion and identity memory prevent swaps at object crossings Published 73.8% β†’ 100% read the ground-truth label directly; genuine label-free fix recovers ~1.7–2.8pt, not 26pt
Vision + video d3video Synthetic motion artifacts show up in the difference of differences Published 100%/54pt used a best-case artifact; a plausible weaker one drops it to ~72-73%/23pt β€” mechanism holds, magnitude overstated
Sound + music restem A separator can improve itself over multiple inference steps Published 8.78 β†’ 36.52 dB hardcoded the interferer frequency (0.5 Hz off collapses the gain to 0); estimating it holds ~20 dB mean gain across dozens of unseen frequencies
Sound + music binauralbench A clean stem still fails if it collapses the spatial cue ILD error reduced 99.8%

πŸ§ͺ The Rest of the Lab

The same standard (reproducible benchmark, tests, zero dependencies) applied across the stack. Grouped so you can jump to what you care about.

LLM inference and cost. speculabench (speculative decoding math, 1.4x to 2.9x β€” the optimal draft length shifts once real bursty agreement patterns replace an independent-draw assumption), kvsqueeze (KV-cache eviction, H2O and StreamingLLM style β€” the original policy's "win" was freezing the cache entirely, scoring 0% on recent-token recall; fixed), contextpack (prompt compression with a recall check β€” the safe-compression knee point only held when the source text used digit numerals; fixed for prose-spelled numbers too).

Output reliability. structstream (JSON repair, 7% β†’ 100% recovery on the bundled corpus, 0% on a common failure mode it originally never tested β€” now fixed), rubricagent (LLM-as-judge rubrics learned from outcomes, AUC 0.77 β†’ 1.00, confirmed on a disjoint holdout), taggate (confidence-gated tagging in TypeScript).

RAG done honestly. chunklab (chunking strategies, measured β€” the 30-point margin on the bundled document nearly disappears on a second, independent one), clarifyrag (asks clarifying questions only when evidence disagrees β€” auditing its own circular benchmark surfaced a real stopword-filtering bug, fixed, natural-question accuracy 3/7 β†’ 7/7), tablextract (tables out of PDFs with cited cells β€” found and fixed silently-dropped rows and fabricated citations, recall 71% β†’ 100%).

Agents that stop. toolrouter (tool selection that abstains on ties, though it also abstains on 10/15 real natural-language queries β€” fixed), agentbudget (loop detection catching stalls that step limits miss, plus a blind spot of its own it didn't originally catch), debatekit (multiagent debate: the panel effect, 57% β†’ 79%, is real; the extra lift from debate rounds specifically never clears one standard error at proper sample size).

ML beyond LLMs. churnfm (drift-triggered retraining), orthoshift (double ML for causal effects β€” a multi-seed check found plain adjustment quietly beats it as often as it loses), fedcal (non-IID federated learning β€” a single-seed calibration win reverses to a net loss across 60 seeds), riskbandit (conformal risk-controlled bandits β€” the quantile formula undercovered its own stated 90% target by 1-1.5pt, fixed), chronopatch (conformal forecasting β€” the gain holds on the paper's exact seasonality, drops to single digits on a different but equally realistic series shape), graphpulse (graph anomaly scoring β€” most of the published AUC traced back to reading the ground-truth label directly; the honest label-free score is lower but still clearly ahead of degree alone), tabflowmini (synthetic tabular data with an audit β€” the "fit" churn model was the generator's own coefficients copy-pasted, now actually fit), proteinmask (masked protein-like infilling, honestly toy β€” its "random baseline" was a rigged formula tuned to never match, fixed to a real uniform draw), pendulumlab (CEM control from scratch β€” beats a fair grid-search baseline, not just an under-tuned guess), motifdiff (symbolic music that grades itself β€” isolated the weighting's real contribution once two confounds were removed), connectpuct (PUCT Connect Four you can play β€” a perfect record vs. weak baselines drops to ~55% against real depth-3 minimax, a fair fight).

πŸ› οΈ Products People Actually Use

Tool What it does
VectorMorph SVG to animated WebP/GIF with frame blending. Built because Figma's export flaked one time too many.
ATSProofResume Tailors your resume to a job posting without inventing experience. The free version of a $29/month industry.
bookconverter Local EPUB/MOBI/PDF conversion. No upload limits, no queues, no well-hidden subscription.

πŸ“¬ Get in Touch

Website LinkedIn

Pinned Loading

  1. agentmem agentmem Public

    Bounded, self-consolidating memory for LLM agents with salience-gated writes. The gate never actually gated: 'I' was scored as a proper noun, so 37% of pure filler leaked into memory in real end-to…

    Python

  2. clarifyrag clarifyrag Public

    Most RAG agents answer confidently about the wrong thing. This one asks first, only when evidence disagrees. Found and fixed a real retrieval bug: no stopword filtering meant 3/7 accuracy on natura…

    Python

  3. rubricagent rubricagent Public

    Learns your LLM-as-judge rubric from outcomes instead of guessing it. The grounding criterion's own keyword list was reverse-engineered into the benchmark's synthetic data: on ordinary language its…

    Python