Speech and ML engineer in San Francisco. M.S. Data Science & AI, University of San Francisco, 2026. Open to full-time roles in speech, ML, or infrastructure.
Most of my recent work lives in other people's repositories: 33 pull requests merged into third-party production projects, 62 more in review.
🌐 Portfolio · 💼 LinkedIn · 📫 kzahiri@dons.usfca.edu
Merged
- OpenAI Whisper #2836 — the English text normalizer rewrote the
1inside3.1and1%, silently deleting the percent sign. It ran on both sides of every WER comparison, so the scores never moved and nothing flagged it. Merged by a Whisper paper author. - Google SentencePiece #1320 —
andreturns its operand, not a bool, so on an empty batch thereturn_bytesflag became[]instead ofFalseand reached the binding as a list where a bool was expected. Every otherreturn_typegave[];offset_mappingraisedTypeError. Merged by Taku Kudo, who wrote SentencePiece. - Meta FAISS —
index_factoryround-trips dropped the storage index for HNSW, so rebuilding from the returned string gave you a different index. - uv #21144 and #21146 — both merged by Astral's co-founder.
- Hugging Face Transformers #47888 — the ASR pipeline destroyed stereo audio in channels-last layout.
- librosa #2087 — merged by the library's creator.
- Python SDKs: Deepgram #767, ElevenLabs #858, AssemblyAI #234.
In review: ONNX Runtime, NVIDIA NeMo, PyTorch Audio, SciPy, scikit-learn, and the Anthropic Python SDK.
asr-age-gap — who voice systems leave out
Whisper transcribes older speakers more accurately, not less. The failure is elsewhere: at a fixed 700ms endpoint threshold, speakers in their sixties are read as finished mid-sentence 19.7% of the time against 8.0% in their twenties, because they take about twice as many internal pauses. Word error rate cannot see it. A semantic turn model halves the gap.
Whisper · Common Voice · speaker-bootstrapped CIs
state-of-ats-2026 — which ATS each large employer uses Open dataset covering 738 large employers, 704 verified against the live careers-portal apply host, 551 with a recorded evidence host you can check yourself. MIT licensed, free keyless API.
ResumeAI — ATS resume optimizer
Full-stack AI product I founded and built solo: compatibility scoring, bullet rewriting, cover letters, PDF/DOCX export, Chrome extension. Active users across 7+ countries.
Next.js · TypeScript · Supabase · Claude API · Stripe
ParkCast SF — end-to-end MLOps
Parking-occupancy API serving 12.7K SF blocks at 8.98 MAE / 0.73 R². Automated retraining with a champion-challenger gate that blocks silent regressions before deploy.
FastAPI · LightGBM · Docker · Cloud Run · MLflow
→ More on my portfolio site.
Languages: Python · TypeScript · Java · C · SQL AI/ML: PyTorch · Whisper · LiveKit · scikit-learn · LLM fine-tuning · RAG · model evaluation Data: PySpark · Pandas · NumPy · Dagster · dlt/dbt · Airflow Infra: AWS · GCP · Docker · MLflow · GitHub Actions
AI Engineer, Asurion (through June 2026) — real-time voice AI: Whisper fine-tuning and low-latency LiveKit pipelines in production. Previously Spotly Jobs (dlt/dbt + Dagster ETL) and Outlier AI (RLHF training and LLM evaluation).
🏅 AWS Certified Cloud Practitioner · Google Cloud Digital Leader



