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- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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