Skip to content
BackNov 7
Ruhollah M.

Ruhollah M.

AI/ML Engineer

I am an AI/ML Engineer based in Germany, with expertise in speech recognition/diarization, LLM, tokenization, and agent tooling for browser internals. Skilled in algorithm and code optimization, model training, and AI agent development. Peer-reviewed CS research; production systems for freelance clients. Fluent in German and English; German permanent residence with work authorization. GitHub: @Majdoddin X (Twitter): @RMajdoddin LinkedIn: @rmajdoddin Some of my AI/ML Experience LLM Agents ➢ Production LLM agent for a car dealer: matches auction lots against marketplace listings with feature-level price adjustments and computes max bids; 1,000+ cars evaluated ➢ Open-source agent dev-kit for Mozilla's Firefox MCP server: an LLM agent inspects, hot-patches and verifies a running Firefox with no rebuild. Used it to patch 7 Firefox bugs in ten days: 6 landed, one in the Firefox 155 release notes ➢ Extension management tools for firefox-devtools-mcp, since adopted by Mozilla Speech Recognition ➢ WhisperX + pyannote transcription and speaker-diarization pipelines for sales-call analysis, podcasts and speech-therapy apps ➢ Frozen Docker GPU images (PyTorch, CUDA, cuDNN) for stable offline deployment on cloud GPUs ➢ Diarization service built directly on OpenAI's Whisper, with no separate diarization model ➢ Improved the tokenization of OpenAI's Whisper LLM Tokenization (minBPE, OpenAI's tiktoken) ➢ Karpathy accepted my optimization and uses it in nanochat ➢ Training: near-optimal greedy algorithm (3.3% better compression than BPE); 8× faster training by exploiting repeated chunks ➢ Encoding: optimal BPE encoding (0.6% better compression, 6× speedup), encoder cache (12% speedup), regex rewrite (6× speedup) LLM Research & Open Source ➢ Top-p sampling, code rewrite and GitHub Actions for Karpathy's llama2.c ➢ Function-level debugger that lets an LLM debug its own generated code (AlphaCodium) ➢ Transformer training with MCTS-guided self-play (JAX) for symbolic regression and automated theorem proving; 4× MCTS speedup, found an RNG bias in a NeurIPS 2025 codebase

🇩🇪Uhldingen-Muhlhofen, Germany$50/hr100% JSS5.00 (4)Since Aug 2014

Earnings and projects

MRR
$0

Last 6 months ÷ 6

World#176,850 / 412k
🇩🇪Country#1,381 / 3,842
Revenue, last 30 days
$0
Total earnings
$13k

Billed in all: $13k

World#176,850 / 412k
🇩🇪Country#1,381 / 3,842
Per project
$1.6k
Projects, last 6 months
0
World#209,850 / 412k
🇩🇪Country#1,761 / 3,842
Projects in all
8

Across 9 contracts

33% fixed67% hourly
World#223,560 / 412k
🇩🇪Country#2,033 / 3,842

Earnings, last 30 days

$13.3kNothing earned in the last 30 daysBilled in all, before Upwork's fee · drag across the chart to see what was earned in any stretch
$13.0k$13.2k$13.4k$13.6kOct 8Oct 23Nov 7

Skills