Open to AI engineering roles · London, UK
I build voice agents you can talk over, and LLM tools you can trust with real systems.
I'm Anas Nasseur, an AI engineer in London. Speech recognition, turn-taking and streaming speech on local GPUs; agents that pause for a human before they write; self-hosted model APIs. I measure the latency and publish the numbers.
- 0 msyou“Did the nightly eval run finish, and—”
- +410vadpause · smart turn says hold (0.31)
- +1180you“—what changed since yesterday?”
- +1240vadend of turn (0.94)
- +1319asrparakeet · 79 ms
- +1610llmfirst full sentence · 290 ms
- +2060ttskokoro · first audio
- agent“It finished at 03:12. Two regressions…”
Measured, not claimed
Where these numbers come from →- median speech-to-text on a 4.4 s clip
- 79ms
- median speech-to-text on a 4.4 s clip
- to first audio from the token stream
- ~450ms
- to first audio from the token stream
- of your speech before the agent ducks its voice
- 96ms
- of your speech before the agent ducks its voice
- real-time factor transcribing a 64 s monologue
- 437×
- real-time factor transcribing a 64 s monologue
01Selected work
All work
10 · One-click agentsPrep: voice coding copilot
An 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.
Voice AI · Electron · Monaco · LLM agents
79 ms · ASR, 4.4 s clip (median)voiceAgent
A 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.
Voice AI · Speech recognition · TTS · LangGraph
- 2026Agent2DBA 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.
- 2026InterviewPracticeAIVoice 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.
- 2026Karate 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.18,439 vertices
- 2025Qwen3 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.
- 2025Kokoro 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.28 voices
02Writing
All posts· 6 min
Where the latency goes in a local voice agent
A stage-by-stage breakdown of a local voice agent's turn, with measured numbers: speech recognition is cheap, endpointing and the model's first sentence are not.
· 6 min
Barge-in is a policy problem, not a model problem
Two-stage barge-in, echo gating and an interviewer's turn-taking rules: why interruptions in voice agents are state-machine code that deserves ordinary tests.
· 6 min
Letting an LLM agent touch a real database safely
How Agent2DB handles large schemas and dangerous writes: a ranked schema index, three layers of write safety, durable approvals and budgets on every run.
· 5 min
Swap a hosted model API for a local one without touching the client
A Qwen3 reranker behind a Cohere-compatible /v2/rerank and Kokoro TTS behind OpenAI's /v1/audio/speech: copying an API contract so migration is a base-URL change.
03About
Most of what I build sits where models meet people in real time: listening, deciding when someone has finished speaking, answering before the silence gets awkward, and stopping the moment they interrupt.
I care about the parts that make AI systems usable: 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.
Toolkit
- 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
04 · Contact
Hiring for AI engineering? Let's talk.
Grab 15 minutes on my calendar, or email me and I'll reply within a day.