{
  "id": 6235001,
  "title": "This week at Romi #2 - Latency and Voice AI",
  "url": "https://urgent.news/2026/09/08/this-week-at-romi-2-latency-and-voice-ai",
  "topic": "ai",
  "section": "AI",
  "published": "2026-09-08T04:23:59.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/romiadhd/this-week-at-romi-2-latency-and-voice-ai-556c"
  },
  "original_language": "en",
  "account": "Welcome back to This at Romi. We've been incredibly busy, which is why this post comes a bit later than our usual Friday update! When discussing Voice AI, a 200-300 millisecond reduction in latency may seem insignificant. However, in actuality, it's the difference between an awkward robotic delay and a smooth, natural conversation. This week, we took a deep dive into our pipeline to eliminate latency and eliminate outdated code that was hindering our performance. Here's what we changed:\n\nFirstly, we transitioned from synchronous to asynchronous tools. Prior to this update, when a user created a task, the pipeline would halt until the database completed the write operation. By making our tools asynchronous, the voice flow remains uninterrupted while items are saved in the background.\n\nSecondly, we streamlined our deduplication process. Initially, we had seven layers of deduplication to prevent duplicate tasks from reaching the database. However, these safeguards began to conflict with each other and slowed down the pipeline. With stronger prompt reinforcement and a swift backend cleanup, we've reduced it to just two layers.\n\nThirdly, we bid farewell to thinking models. Our agent heavily relies on fast tool calls, and the additional reasoning delay before speaking introduced by thinking models was unnecessary. We've swapped to a model specifically optimized for speed and efficient tool invocation.\n\nLastly, we introduced a toggle between Natural Flow and Push-to-Talk. This addition complements the backend speedups we've made. Now, users can choose to either think out loud or speak in noisy environments without the model prematurely triggering unwanted tasks. Sometimes, the biggest performance improvements don't come from writing complex new code; they come from eliminating redundant safeguards, running tasks in the background, and selecting the right model for the job.\n\nWhat's the most frustrating piece of legacy safety code you've had to clean from your stack?",
  "summary": "Welcome back to This Last week at Romi. We've been really busy so this post hits a bit late than our scheduled Friday one! In Voice AI, saving 200–300 milliseconds sounds tiny on paper. In practice, it’s the difference between an awkward robotic delay and a natural conversation. This week, we took a hard look at our pipeline to eliminate latency and clean out old code that was getting in the way.…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}