About · London, UK

I'm Anas. I build AI systems that have to answer before the silence gets awkward.

I'm an AI engineer in London. Most of what I build sits where models meet people in real time: listening, deciding when someone has finished speaking, answering quickly, and stopping the moment they interrupt.

I care about the parts that make these systems usable rather than impressive in a demo: latency budgets, turn-taking policy, approvals before an agent writes to a database, spend limits, and tests that drive a scripted model end to end. I run models locally where I can and keep APIs compatible with the hosted ones, so nothing upstream has to change.

I'm looking for AI / ML engineering roles, in London or remote.

01What I work on

Real-time voice pipelines
Speech recognition, end-of-turn detection and streaming text-to-speech running on a local GPU, with barge-in that ducks and then cuts the agent when you talk over it. voiceAgent and InterviewPracticeAI are the two builds; every stage is benchmarked.
Agents with a human in the loop
Agent2DB lets a model explore a PostgreSQL schema and write SQL, but every write pauses for approval and runs through a separate least-privilege role. Prep gives a coding copilot four help modes and spend brakes so an always-listening loop stays affordable.
Self-hosted model APIs
A Kokoro TTS server that speaks OpenAI's /v1 audio API and a Qwen3 reranker behind a Cohere-compatible /v2/rerank, so an existing client migrates by changing a base URL.
Computer vision
A video-to-3D-avatar pipeline chaining YOLOv8, MoGe2 and SAM 3D Body into a Three.js studio for labelling karate techniques, with voice navigation through the segments.

02Things I've built

All work
  1. Prep: voice coding copilotAn interview-prep IDE with a voice: a Monaco editor, a LeetCode-style problem library, and an AI copilot you can talk to, interrupt and point at your code.
  2. Agent2DBA desktop database agent: connect PostgreSQL, ask in plain language, and let an agent explore the schema, write and run SQL, and remember what it learns, with a human approving every write.
  3. voiceAgentA fully local, real-time voice assistant you can talk over: Parakeet listens, an LLM thinks, Kokoro speaks, SQLite remembers. Sub-second speech-to-speech with two-stage barge-in.
  4. InterviewPracticeAIVoice interview practice: a Next.js app, a Node voice gateway running the turn-taking loop, and a Python "ear" doing VAD, end-of-turn detection and transcription on the GPU.
  5. Karate 3D Avatar StudioTurn any video into an interactive 3D avatar: detection, camera estimation and SAM 3D Body mesh recovery, with a Three.js studio for labelling techniques and voice control.
  6. Qwen3 Reranker APIA standalone, GPU-accelerated reranking service using Qwen3-Reranker-0.6B behind a Cohere-compatible /v2/rerank endpoint, so RAG pipelines can swap a hosted reranker for a local one.
  7. Kokoro TTS APIA self-hosted, OpenAI-compatible text-to-speech server built on Kokoro, with robust text processing and 28 voices. Plugs straight into the Read Aloud browser extension.

03Toolkit

Models & speech
PyTorch, Transformers, Parakeet, Silero VAD, Kokoro, Qwen3 reranker, SAM
Agents & LLMs
LangGraph, LiteLLM, MCP, Anthropic, Groq, Gemini
Services
Python, FastAPI, Node.js, WebSockets, PostgreSQL
Interfaces
TypeScript, React, Next.js, Electron, Three.js

04Education

Computer Science
Goldsmiths, University of London

05Elsewhere