# WebSocket

WebSocket is a protocol for two-way client-server communication over TCP, with a browser API for web applications.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Gemini Live audio

DevFeed: [Gemini Live audio](<https://devfeed.tech/articles/gemini-live-audio-31180.md>)

Original publisher: [Read original article](<https://simonwillison.net/2026/Sep/15/gemini-live/>)

Author: Simon Willison

Published: 2026-09-15T22:47:07Z

Content type: tutorial

Language: en

Sources: [Simon Willison's Weblog](<https://devfeed.tech/sources/simon-willison-s-weblog.md>)

Topics: [speech-to-speech](<https://devfeed.tech/topics/speech-to-speech.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Google AI](<https://devfeed.tech/topics/google-ai.md>), [browser](<https://devfeed.tech/topics/browser.md>), [Playback](<https://devfeed.tech/topics/playback.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [audio](<https://devfeed.tech/tags/audio.md>), [browser](<https://devfeed.tech/tags/browser.md>), [gemini](<https://devfeed.tech/tags/gemini.md>), [gemini-196](<https://devfeed.tech/tags/gemini-196.md>), [generative-ai](<https://devfeed.tech/tags/generative-ai.md>), [generative-ai-1-982](<https://devfeed.tech/tags/generative-ai-1-982.md>), [google](<https://devfeed.tech/tags/google.md>), [google-416](<https://devfeed.tech/tags/google-416.md>), [llm-release](<https://devfeed.tech/tags/llm-release.md>), [llm-release-231](<https://devfeed.tech/tags/llm-release-231.md>), [llms](<https://devfeed.tech/tags/llms.md>), [llms-1-948](<https://devfeed.tech/tags/llms-1-948.md>), [model](<https://devfeed.tech/tags/model.md>), [models](<https://devfeed.tech/tags/models.md>), [openai](<https://devfeed.tech/tags/openai.md>), [playback](<https://devfeed.tech/tags/playback.md>), [release](<https://devfeed.tech/tags/release.md>), [speech-to-speech](<https://devfeed.tech/tags/speech-to-speech.md>), [speech-to-text](<https://devfeed.tech/tags/speech-to-text.md>), [speech-to-text-21](<https://devfeed.tech/tags/speech-to-text-21.md>), [tools](<https://devfeed.tech/tags/tools.md>), [tools-78](<https://devfeed.tech/tags/tools-78.md>), [ui](<https://devfeed.tech/tags/ui.md>), [voice](<https://devfeed.tech/tags/voice.md>), [websocket](<https://devfeed.tech/tags/websocket.md>), [websockets](<https://devfeed.tech/tags/websockets.md>), [websockets-21](<https://devfeed.tech/tags/websockets-21.md>)

### AI overview

The article describes a browser-based web UI for trying Google's Gemini 3.8 Live and Gemini 3.8 Live Extended Thinking speech-to-speech models. The implementation supports model and voice selection, an optional system prompt, voice conversations, and interruption while the model is speaking. It uses no libraries, connecting to a WebSocket endpoint and using the Web Audio API for capture and playback.

### Source excerpt

Tool: Gemini Live audio Google released Gemini 3.8 Live and 3.8 Live Extended Thinking today - two new speech-to-speech models that are a similar shape to OpenAI's GPT-Live family. I pointed GPT-6 Astra Extra High at the documentation and had it build me this web UI for trying out the new models. You can select a model and voice preset, enter an optional system prompt and then start a voice conversation through your browser, including the ability to interrupt the model while it is talking. The implementation uses no libraries. It connects to the wss://generativelanguage.googleapis.com/ws/google.ai.generativelanguage.v1alpha.GenerativeService.BidiGenerateContent?key=... WebSocket endpoint and uses a Web Audio API AudioContext for both capture and playback. Here's the Gemini Live tutorial for getting started with that WebSockets API. Tags: google, tools, websockets, generative-ai, llms, gemini, llm-release, speech-to-text

## How WebRTC Scales: Signaling, NAT Traversal, and the Mesh/SFU/MCU Tradeoff

DevFeed: [How WebRTC Scales: Signaling, NAT Traversal, and the Mesh/SFU/MCU Tradeoff](<https://devfeed.tech/articles/how-webrtc-scales-signaling-nat-traversal-and-the-mesh-sfu-mcu-tradeoff-26901.md>)

Original publisher: [Read original article](<https://www.freecodecamp.org/news/how-webrtc-scales-signaling-nat-traversal-and-the-mesh-sfu-mcu-tradeoff/>)

Author: Karan Pratap Singh

Published: 2026-09-15T15:57:39Z

Content type: article

Language: en

Sources: [freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More](<https://devfeed.tech/sources/freecodecamp-programming-tutorials-python-javascript-git-more.md>)

Topics: [WebRTC](<https://devfeed.tech/topics/webrtc.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [browsers](<https://devfeed.tech/topics/browsers.md>), [API](<https://devfeed.tech/topics/api.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Firewall](<https://devfeed.tech/topics/firewall.md>), [Network](<https://devfeed.tech/topics/network.md>), [servers](<https://devfeed.tech/topics/servers.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [browsers](<https://devfeed.tech/tags/browsers.md>), [decoding](<https://devfeed.tech/tags/decoding.md>), [distributed-system](<https://devfeed.tech/tags/distributed-system.md>), [firewall](<https://devfeed.tech/tags/firewall.md>), [http](<https://devfeed.tech/tags/http.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [network](<https://devfeed.tech/tags/network.md>), [networking](<https://devfeed.tech/tags/networking.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [server](<https://devfeed.tech/tags/server.md>), [webrtc](<https://devfeed.tech/tags/webrtc.md>)

### AI overview

This article explains how WebRTC enables browsers to exchange audio, video, and data directly. It covers the three WebRTC APIs, signaling through WebSockets or HTTP, NAT traversal using ICE, STUN, and TURN, and the mesh, SFU, and MCU approaches to scaling media delivery.

### Source excerpt

Web Real-Time Communication (or WebRTC) is the open standard browsers use to send audio, video, and data straight to each other. There's no plugin or native app, nothing beyond an API that every brows

## Gemini 3.8 Live models now available on AI Gateway

DevFeed: [Gemini 3.8 Live models now available on AI Gateway](<https://devfeed.tech/articles/gemini-3-8-live-models-now-available-on-ai-gateway-26924.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/gemini-3-8-live-models-now-available-on-ai-gateway>)

Author: Jerilyn Zheng

Published: 2026-09-15T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [real-time](<https://devfeed.tech/topics/real-time.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [API](<https://devfeed.tech/topics/api.md>), [Google](<https://devfeed.tech/topics/google.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [api](<https://devfeed.tech/tags/api.md>), [cost](<https://devfeed.tech/tags/cost.md>), [failover](<https://devfeed.tech/tags/failover.md>), [gemini](<https://devfeed.tech/tags/gemini.md>), [google](<https://devfeed.tech/tags/google.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [realtime](<https://devfeed.tech/tags/realtime.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [websocket](<https://devfeed.tech/tags/websocket.md>)

### AI overview

Vercel announces that Google's Gemini 3.8 Live and Gemini 3.8 Live Extended Thinking models are available on AI Gateway. The models support real-time spoken interactions, audio and visual grounding, multilingual switching, background tool calls, and parallel reasoning through the AI SDK's realtime API.

### Source excerpt

Gemini 3.8 Live and Gemini 3.8 Live Extended Thinking from Google are now available on AI Gateway. Both models support real-time spoken interactions for voice assistants, conversational experiences, and applications that respond through audio. google/gemini-3.8-live supports real-time audio, visual grounding, automatic switching across 97 languages, and background tool calls while the conversation continues. google/gemini-3.8-live-extended-thinking adds multi-step reasoning that runs in parallel with speech, allowing it to acknowledge requests and narrate progress without interrupting the conversation. Use either model through the AI SDK's realtime API. Install the Gateway provider and a WebSocket client: Mint a short-lived token, open the WebSocket, and use the model adapter to serialize and parse realtime events: See the realtime quickstart for more details on realtime events and WebSocket connections. Try Gemini 3.8 Live or Gemini 3.8 Live Extended Thinking in the model playground. AI Gateway provides a unified API for calling models, tracking usage and cost, and configuring retries, failover, and performance optimizations for higher-than-provider uptime. Read more

## How to Orchestrate Multi-Call Conversations with an LLM and Twilio Conversation in Node.js Memory

DevFeed: [How to Orchestrate Multi-Call Conversations with an LLM and Twilio Conversation in Node.js Memory](<https://devfeed.tech/articles/how-to-orchestrate-multi-call-conversations-with-an-llm-and-twilio-conversation-in-node-js-memory-26244.md>)

Original publisher: [Read original article](<https://www.twilio.com/en-us/blog/developers/tutorials/orchestrate-multi-call-conversations-with-llm-twilio-conversation-memory-nodejs>)

Author: Amanda Lange, Dhruv Patel

Published: 2026-09-14T00:00:00Z

Content type: tutorial

Language: en

Sources: [Twilio Blog](<https://devfeed.tech/sources/twilio-blog.md>)

Topics: [Node.js](<https://devfeed.tech/topics/node-js.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Express](<https://devfeed.tech/topics/express.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>), [API](<https://devfeed.tech/topics/api.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [axios](<https://devfeed.tech/tags/axios.md>), [console](<https://devfeed.tech/tags/console.md>), [developer-insights](<https://devfeed.tech/tags/developer-insights.md>), [environment-variables](<https://devfeed.tech/tags/environment-variables.md>), [express](<https://devfeed.tech/tags/express.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [http](<https://devfeed.tech/tags/http.md>), [ide](<https://devfeed.tech/tags/ide.md>), [install](<https://devfeed.tech/tags/install.md>), [js](<https://devfeed.tech/tags/js.md>), [json](<https://devfeed.tech/tags/json.md>), [llm](<https://devfeed.tech/tags/llm.md>), [ngrok](<https://devfeed.tech/tags/ngrok.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [npm](<https://devfeed.tech/tags/npm.md>), [openai](<https://devfeed.tech/tags/openai.md>), [rest-api](<https://devfeed.tech/tags/rest-api.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [visual-studio-code](<https://devfeed.tech/tags/visual-studio-code.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

This tutorial shows how to build a Node.js Express service that uses Twilio Conversation Memory, OpenAI, and voice streams to preserve caller context, preferences, and action history across separate inbound calls. It covers project setup, package installation, local webhook exposure with ngrok, and access to Twilio's Conversation Memory REST API.

### Source excerpt

Learn how to orchestrate multi-call voice conversations using Node.js, OpenAI, and Twilio Conversation Memory to persist caller context across separate calls.

## Scaling real-time AI agents with session-aware load balancing

DevFeed: [Scaling real-time AI agents with session-aware load balancing](<https://devfeed.tech/articles/scaling-real-time-ai-agents-with-session-aware-load-balancing-4217.md>)

Original publisher: [Read original article](<https://developers.googleblog.com/scaling-real-time-ai-agents-with-session-aware-load-balancing/>)

Author: Simerus Mahesh

Published: 2026-09-12T11:04:33.891311Z

Content type: article

Language: en

Sources: [Google Developers Blog](<https://devfeed.tech/sources/google-developers-blog.md>)

Topics: [real-time](<https://devfeed.tech/topics/real-time.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [Server](<https://devfeed.tech/topics/server.md>), [gRPC](<https://devfeed.tech/topics/grpc.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [cpu](<https://devfeed.tech/topics/cpu.md>), [Concurrent Programming](<https://devfeed.tech/topics/concurrent-programming.md>)

Tags: [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [concurrent](<https://devfeed.tech/tags/concurrent.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [routing](<https://devfeed.tech/tags/routing.md>), [server](<https://devfeed.tech/tags/server.md>), [streaming](<https://devfeed.tech/tags/streaming.md>)

### AI overview

This article explains why real-time AI agents require session-aware load balancing. Long-lived, stateful bidirectional streams make request rates and CPU utilization insufficient measures of backend capacity. The proposed approach tracks active sessions at the application level and combines session counts with CPU metrics to distribute traffic and avoid bottlenecks.

### Source excerpt

Real-time AI agents break traditional request-response load balancing paradigms because they rely on long-lived, stateful bidirectional streams that obscure true server capacity. To solve this, developers must implement application-level session tracking directly within the runtime to accurately measure the committed concurrent workload of active conversations. By feeding these precise session counts alongside standard CPU utilization metrics into a hybrid routing algorithm, infrastructure can effectively distribute stateful AI traffic and prevent individual backend bottlenecks.

## How to Connect Your Twilio Agent to External APIs in Python

DevFeed: [How to Connect Your Twilio Agent to External APIs in Python](<https://devfeed.tech/articles/how-to-connect-your-twilio-agent-to-external-apis-in-python-16103.md>)

Original publisher: [Read original article](<https://www.twilio.com/en-us/blog/developers/tutorials/product/how-to-connect-twilio-agent-to-external-apis-python>)

Author: Amanda Lange, Dylan Frankcom

Published: 2026-09-12T00:00:00Z

Content type: tutorial

Language: en

Sources: [Twilio Blog](<https://devfeed.tech/sources/twilio-blog.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [API](<https://devfeed.tech/topics/api.md>), [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [voice ai](<https://devfeed.tech/topics/voice-ai.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>)

Tags: [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [apis](<https://devfeed.tech/tags/apis.md>), [developer-insights](<https://devfeed.tech/tags/developer-insights.md>), [fastapi](<https://devfeed.tech/tags/fastapi.md>), [ngrok](<https://devfeed.tech/tags/ngrok.md>), [openai](<https://devfeed.tech/tags/openai.md>), [python](<https://devfeed.tech/tags/python.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [visual-studio-code](<https://devfeed.tech/tags/visual-studio-code.md>), [voice-ai](<https://devfeed.tech/tags/voice-ai.md>), [websocket](<https://devfeed.tech/tags/websocket.md>)

### AI overview

This tutorial explains how to connect a Twilio voice agent to an external REST API using Python and FastAPI. It demonstrates using LLM tool calling to fetch live data and take actions on a caller's behalf.

### Source excerpt

Learn how to connect a Twilio voice agent to an external API using Python, so it can fetch real-time data and take action on a caller's behalf.

## Building EasyReply: How We Used Laravel to Unify Customer Support

DevFeed: [Building EasyReply: How We Used Laravel to Unify Customer Support](<https://devfeed.tech/articles/building-easyreply-how-we-used-laravel-to-unify-customer-support-22287.md>)

Original publisher: [Read original article](<https://laravel-news.com/easyreply-laravel-shared-inbox>)

Author: Emma Blake

Published: 2026-09-11T16:06:51Z

Content type: article

Language: en

Sources: [Laravel](<https://devfeed.tech/sources/laravel.md>)

Topics: [Laravel](<https://devfeed.tech/topics/laravel.md>), [Support](<https://devfeed.tech/topics/support.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [React](<https://devfeed.tech/topics/react.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [PHP](<https://devfeed.tech/topics/php.md>), [Single-page application (SPA)](<https://devfeed.tech/topics/spa.md>), [email](<https://devfeed.tech/topics/email.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [Instagram](<https://devfeed.tech/topics/instagram.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [api](<https://devfeed.tech/tags/api.md>), [development](<https://devfeed.tech/tags/development.md>), [email](<https://devfeed.tech/tags/email.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [instagram](<https://devfeed.tech/tags/instagram.md>), [laravel](<https://devfeed.tech/tags/laravel.md>), [queue](<https://devfeed.tech/tags/queue.md>), [react](<https://devfeed.tech/tags/react.md>), [sponsor](<https://devfeed.tech/tags/sponsor.md>), [support](<https://devfeed.tech/tags/support.md>), [ui](<https://devfeed.tech/tags/ui.md>), [websocket](<https://devfeed.tech/tags/websocket.md>)

### AI overview

This article explains how EasyReply uses Laravel to combine email, Slack, Instagram, and WhatsApp conversations in an AI-powered shared inbox. It describes Laravel Reverb for real-time updates, Inertia and React for the frontend, and queues for background processing.

### Source excerpt

EasyReply pulls email, Slack, Instagram, and WhatsApp into one AI shared inbox, built on Laravel with Reverb, Inertia, React, and queues. The post Building EasyReply: How We Used Laravel to Unify Customer Support appeared first on Laravel News. Join the Laravel Newsletter to get Laravel articles like this directly in your inbox.

## Building resilient real-time streaming workers with Amazon DynamoDB leases

DevFeed: [Building resilient real-time streaming workers with Amazon DynamoDB leases](<https://devfeed.tech/articles/building-resilient-real-time-streaming-workers-with-amazon-dynamodb-leases-4637.md>)

Original publisher: [Read original article](<https://aws.amazon.com/blogs/architecture/building-resilient-real-time-streaming-workers-with-amazon-dynamodb-leases/>)

Author: Siddhesh Tiwari

Published: 2026-09-10T16:14:22Z

Content type: tutorial

Language: en

Sources: [AWS Architecture Blog](<https://devfeed.tech/sources/aws-architecture-blog.md>)

Topics: [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Amazon EC2](<https://devfeed.tech/topics/amazon-ec2.md>), [Amazon Elastic Kubernetes Service](<https://devfeed.tech/topics/amazon-elastic-kubernetes-service.md>)

Tags: [advanced-300](<https://devfeed.tech/tags/advanced-300.md>), [amazon-dynamodb](<https://devfeed.tech/tags/amazon-dynamodb.md>), [amazon-ec2](<https://devfeed.tech/tags/amazon-ec2.md>), [amazon-eks](<https://devfeed.tech/tags/amazon-eks.md>), [amazon-elastic-container-service](<https://devfeed.tech/tags/amazon-elastic-container-service.md>), [aws-fargate](<https://devfeed.tech/tags/aws-fargate.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [streaming](<https://devfeed.tech/tags/streaming.md>), [technical-how-to](<https://devfeed.tech/tags/technical-how-to.md>), [workers](<https://devfeed.tech/tags/workers.md>)

### AI overview

A tutorial for building resilient real-time WebSocket workers with Amazon DynamoDB leases. It covers conditional-write ownership, orphan reconciliation for automatic failover, and graceful shutdown to reduce deployment downtime on Amazon ECS and AWS Fargate.

### Source excerpt

Real-time streaming workers that hold hundreds of persistent WebSocket connections lose data when a worker fails. Learn how to build a WebSocket fleet management system on Amazon ECS and AWS Fargate that uses Amazon DynamoDB conditional writes as a distributed lease to track ownership, fail over automatically, and deploy with low downtime.

## Build an AI Voice Assistant with Twilio Voice and Media Streams, OpenAI's GPT-Live API, and Node.js

DevFeed: [Build an AI Voice Assistant with Twilio Voice and Media Streams, OpenAI's GPT-Live API, and Node.js](<https://devfeed.tech/articles/build-an-ai-voice-assistant-with-twilio-voice-and-media-streams-openai-s-gpt-live-api-and-node-js-16093.md>)

Original publisher: [Read original article](<https://www.twilio.com/en-us/blog/developers/tutorials/integrations/voice-ai-assistant-openai-gpt-live-1-node>)

Author: Paul Kamp

Published: 2026-09-10T00:00:00Z

Content type: tutorial

Language: en

Sources: [Twilio Blog](<https://devfeed.tech/sources/twilio-blog.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>), [Streams](<https://devfeed.tech/topics/streams.md>), [API](<https://devfeed.tech/topics/api.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Fastify](<https://devfeed.tech/topics/fastify.md>), [API keys](<https://devfeed.tech/topics/api-keys.md>), [.env](<https://devfeed.tech/topics/dotenv.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [api](<https://devfeed.tech/tags/api.md>), [audio](<https://devfeed.tech/tags/audio.md>), [developer-insights](<https://devfeed.tech/tags/developer-insights.md>), [env-file-security](<https://devfeed.tech/tags/env-file-security.md>), [js](<https://devfeed.tech/tags/js.md>), [ngrok](<https://devfeed.tech/tags/ngrok.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [openai](<https://devfeed.tech/tags/openai.md>), [sign-up](<https://devfeed.tech/tags/sign-up.md>), [streams](<https://devfeed.tech/tags/streams.md>)

### AI overview

This tutorial explains how to build an AI voice assistant that answers phone calls using Twilio Programmable Voice and Media Streams, OpenAI's GPT-Live-1 API, and a Node.js server. It also covers web search and custom function tool calls.

### Source excerpt

Build an AI voice assistant that answers a phone call with Twilio Programmable Voice and Media Streams, powered by OpenAI's GPT-Live-1.

## More than 100,000 fake stores are out to steal your card details

DevFeed: [More than 100,000 fake stores are out to steal your card details](<https://devfeed.tech/articles/more-than-100-000-fake-stores-are-out-to-steal-your-card-details-8448.md>)

Original publisher: [Read original article](<https://www.malwarebytes.com/blog/scams/2026/09/more-than-100000-fake-stores-are-out-to-steal-your-card-details>)

Author: Pieter Arntz

Published: 2026-09-09T15:02:53Z

Content type: news

Language: en

Sources: [Malwarebytes](<https://devfeed.tech/sources/malwarebytes.md>)

Topics: [Cybersecurity](<https://devfeed.tech/topics/cybersecurity.md>), [Security & Privacy](<https://devfeed.tech/topics/security-privacy.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [backends](<https://devfeed.tech/tags/backends.md>), [cybersecurity](<https://devfeed.tech/tags/cybersecurity.md>), [doppelcart](<https://devfeed.tech/tags/doppelcart.md>), [fake-webshops](<https://devfeed.tech/tags/fake-webshops.md>), [news](<https://devfeed.tech/tags/news.md>), [scams](<https://devfeed.tech/tags/scams.md>)

### AI overview

Researchers identified DoppelCart, a large network of cloned online stores that copies real retailers and steals card data and bank confirmation codes during checkout.

### Source excerpt

DoppelCart's fake stores copy real retailers and steal shoppers' card details and one-time bank confirmation codes.

## Integrate Deepgram Flux with Twilio's Conversation Relay

DevFeed: [Integrate Deepgram Flux with Twilio's Conversation Relay](<https://devfeed.tech/articles/integrate-deepgram-flux-with-twilio-s-conversation-relay-16090.md>)

Original publisher: [Read original article](<https://www.twilio.com/en-us/blog/developers/tutorials/integrations/deepgram-flux-twilio-conversation-relay>)

Author: Dhruv Patel

Published: 2026-09-08T00:00:00Z

Content type: tutorial

Language: en

Sources: [Twilio Blog](<https://devfeed.tech/sources/twilio-blog.md>)

Topics: [flux](<https://devfeed.tech/topics/flux.md>), [asr](<https://devfeed.tech/topics/asr.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>)

Tags: [developer-insights](<https://devfeed.tech/tags/developer-insights.md>), [flux](<https://devfeed.tech/tags/flux.md>), [latency](<https://devfeed.tech/tags/latency.md>), [node](<https://devfeed.tech/tags/node.md>), [speech](<https://devfeed.tech/tags/speech.md>), [streaming](<https://devfeed.tech/tags/streaming.md>), [transcription](<https://devfeed.tech/tags/transcription.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [websocket](<https://devfeed.tech/tags/websocket.md>)

### AI overview

This tutorial shows how to integrate Deepgram Flux with Twilio's Conversation Relay in Node.js. Flux combines speech transcription and turn detection, with configurable end-of-turn confidence, and is described as reducing response latency and false interruptions.

### Source excerpt

Integrate Deepgram Flux with Twilio ConversationRelay in Node.js for faster turn detectio, and tunable end-of-turn control.

## Gemini 3.5 Transcribe now available on AI Gateway

DevFeed: [Gemini 3.5 Transcribe now available on AI Gateway](<https://devfeed.tech/articles/gemini-3-5-transcribe-now-available-on-ai-gateway-944.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/gemini-3-5-transcribe-now-available-on-ai-gateway>)

Author: Jerilyn Zheng

Published: 2026-08-26T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Google](<https://devfeed.tech/topics/google.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [vercel ai sdk](<https://devfeed.tech/topics/vercel-ai-sdk.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-gateway](<https://devfeed.tech/tags/ai-gateway.md>), [audio](<https://devfeed.tech/tags/audio.md>), [gemini](<https://devfeed.tech/tags/gemini.md>), [google](<https://devfeed.tech/tags/google.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [speech](<https://devfeed.tech/tags/speech.md>), [streaming](<https://devfeed.tech/tags/streaming.md>), [transcription](<https://devfeed.tech/tags/transcription.md>)

### AI overview

Vercel announces that Google's Gemini 3.5 Transcribe models are available through AI Gateway for both complete recordings and live audio. The models support multilingual detection across more than 85 languages, custom vocabulary, speaker identification, word-level timestamps, and streaming transcription through AI SDK 7.

### Source excerpt

Gemini 3.5 Transcribe from Google is now available on AI Gateway for recorded and live audio: google/gemini-3.5-transcribe transcribes a complete audio file in one request. google/gemini-3.5-transcribe-live transcribes audio over a WebSocket and returns text as the audio arrives. Both models automatically detect more than 85 languages, including when a speaker switches languages. You can also provide custom vocabulary to improve the transcription of names, technical terms, and uncommon spellings. The model for complete recordings can also identify speakers and return word-level timestamps. Streaming transcription is available in AI SDK 7. Install the latest AI SDK and AI Gateway provider: Transcribe live audio Use streamTranscribe with a ReadableStream of raw audio chunks. Set inputAudioFormat to match the audio being sent: Transcribe a complete recording Use transcribe to send a complete audio file and receive the finished transcript: Try Gemini 3.5 Transcribe Live in the model playground, browse all transcription models, or read the speech quickstart. Read more

## Compose & kotlinx.html

DevFeed: [Compose & kotlinx.html](<https://devfeed.tech/articles/compose-kotlinx-html-20925.md>)

Original publisher: [Read original article](<https://jakewharton.com/compose-and-kotlinx-html/>)

Published: 2026-08-26T00:00:00Z

Content type: article

Language: en

Sources: [Jake Wharton](<https://devfeed.tech/sources/jake-wharton.md>)

Topics: [Compose](<https://devfeed.tech/topics/compose.md>), [HTML](<https://devfeed.tech/topics/html.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Document Object Model (DOM)](<https://devfeed.tech/topics/dom.md>), [ui](<https://devfeed.tech/topics/ui.md>), [client](<https://devfeed.tech/topics/client.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [compose](<https://devfeed.tech/tags/compose.md>), [html](<https://devfeed.tech/tags/html.md>), [sse](<https://devfeed.tech/tags/sse.md>), [ui](<https://devfeed.tech/tags/ui.md>), [web](<https://devfeed.tech/tags/web.md>), [websocket](<https://devfeed.tech/tags/websocket.md>)

### AI overview

The article presents an approach for keeping server-rendered HTML admin pages fresh without abandoning static HTML. It uses Molecule on the JVM to observe state, kotlinx.html to render HTML fragments, Ktor to stream updates over WebSockets, and client-side JavaScript with Idiomorph to patch the DOM. It also discusses using server-sent events for unidirectional updates and the scalability tradeoffs of long-lived connections.

### Source excerpt

Let's render a simple page with Ktor server and kotlinx.html: get("/users.html") { call.respondHtml { myLayout(title = "Users") { userList( users = db.users.value, ) } } } A reusable myLayout provides scaffolding, userList encapsulates the specific page content, and db.users is a StateFlow<List<User>> from the persistence layer. I've been doing this over and over to create admin dashboard pages for a project. It works great right up until you leave it open for a minute or two, and its content becomes stale. Client-side frameworks exist within the ecosystem to "solve" this, such as Compose for HTML or Compose UI for Web. If your house has a leaky pipe you can also "solve" that by moving to a new house. I simply will not bring myself to abandoning HTML let alone delivery of static HTML in the response. Efforts are underway to adapt Compose for HTML for so-called isomorphic rendering. This would involve performing the initial composition on the server to produce the static HTML for the HTTP response. Then, client side as JS, mounting the same rendering code to reproduce the DOM tree and incrementally update it for future state changes. Tomorrow's Compose today Instead of waiting, I brought my own Compose on the JVM from home in the form of Molecule. Instead of managing a UI tree over time, Molecule manages a single piece of state over time. We can use that to render an HTML fragment on the server as a string, and then stream that to the client. webSocket("/users.ws") { launchMolecule(Immediate) { val users by db.users.collectAsState() createHTML().userList( users = users, ) }.collect(::send) } That's it. Ktor gives us the webSocket, Molecule runs the StateFlow<String> which is piped into it, and kotlinx.html renders the HTML fragment of our existing content function. In the initial HTML payload you need to wire this up somehow. Something like: script { unsafe { +""" |const content = document.getElementById("content"); |const socket = new WebSocket("ws://" + location.ho

## Bun 1.4 is now available in Vercel Functions

DevFeed: [Bun 1.4 is now available in Vercel Functions](<https://devfeed.tech/articles/bun-1-4-is-now-available-in-vercel-functions-829.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/bun-1-4-is-now-available-in-vercel-functions>)

Author: Tom Lienard

Published: 2026-08-20T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [Bun](<https://devfeed.tech/topics/bun.md>), [Vercel](<https://devfeed.tech/topics/vercel.md>), [Rust](<https://devfeed.tech/topics/rust.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Zig](<https://devfeed.tech/topics/zig.md>), [Hono](<https://devfeed.tech/topics/honojs.md>), [Next.js](<https://devfeed.tech/topics/next-js.md>)

Tags: [2](<https://devfeed.tech/tags/2.md>), [bun](<https://devfeed.tech/tags/bun.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [compute](<https://devfeed.tech/tags/compute.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [features](<https://devfeed.tech/tags/features.md>), [frameworks](<https://devfeed.tech/tags/frameworks.md>), [next-js](<https://devfeed.tech/tags/next-js.md>), [node](<https://devfeed.tech/tags/node.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [performance](<https://devfeed.tech/tags/performance.md>), [release](<https://devfeed.tech/tags/release.md>), [rust](<https://devfeed.tech/tags/rust.md>), [support](<https://devfeed.tech/tags/support.md>), [update](<https://devfeed.tech/tags/update.md>), [vercel](<https://devfeed.tech/tags/vercel.md>), [zig](<https://devfeed.tech/tags/zig.md>)

### AI overview

Vercel Functions now support Bun 1.4, which rewrites Bun from Zig to Rust and includes resolved issues, additional Node.js compatibility tests, new features, and performance improvements. Bun runs on Fluid compute, supports Active CPU pricing and WebSockets, and works with frameworks including Next.js and Hono. Upgrading is an explicit opt-in because of breaking changes.

### Source excerpt

Vercel Functions now support the new Bun 1.4 release, a rewrite of Bun from Zig to Rust, with over 2,900 issues resolved, more than 1,500 additional Node.js compatibility tests passing, and new features and performance improvements. Bun on Vercel Functions: Runs on Fluid compute with Active CPU pricing Supports WebSockets and Bun.serve() Supports common frameworks such as Next.js, Elysia, and Hono To update from the previous Bun version, set bunVersion to 1.4.x in vercel.json. Upgrading is an explicit opt-in because Bun 1.4 has several breaking changes. Review the breaking changes and update your application before upgrading. Learn more about using Bun on Vercel in the runtime documentation. Read more

## Neon Functions: backend logic next to your data

DevFeed: [Neon Functions: backend logic next to your data](<https://devfeed.tech/articles/neon-functions-backend-logic-next-to-your-data-5634.md>)

Original publisher: [Read original article](<https://neon.com/blog/neon-functions-backend-logic-next-to-your-data>)

Author: Carlota Soto

Published: 2026-08-12T12:00:00Z

Content type: article

Language: en

Sources: [Blog -- Neon Docs](<https://devfeed.tech/sources/blog-neon-docs.md>)

Topics: [Back end](<https://devfeed.tech/topics/backend.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [Database](<https://devfeed.tech/topics/database.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [database](<https://devfeed.tech/tags/database.md>), [hosting](<https://devfeed.tech/tags/hosting.md>), [network](<https://devfeed.tech/tags/network.md>), [node](<https://devfeed.tech/tags/node.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [product](<https://devfeed.tech/tags/product.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [vpc](<https://devfeed.tech/tags/vpc.md>)

### AI overview

Neon Functions provide long-running Node.js 24 backend compute deployed beside a Neon Postgres branch. They automatically receive database and related Neon service credentials, reducing network hops and supporting streaming, WebSockets, SSE, and persistent connection pools.

### Source excerpt

Neon Functions are Node.js 24 compute you deploy onto a Neon branch, in the same region as your Lakebase Postgres database, with DATABASE_URL injected automatically. They're long-running enough that agents can stream for minutes and WebSockets or SSE can stay open while data flows.

## Bun runtime for Vercel Functions now accepts Bun.serve as an entrypoint

DevFeed: [Bun runtime for Vercel Functions now accepts Bun.serve as an entrypoint](<https://devfeed.tech/articles/bun-runtime-for-vercel-functions-now-accepts-bun-serve-as-an-entrypoint-831.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/bun-serve-entrypoint-for-vercel-functions>)

Author: Florentin Eckl

Published: 2026-08-10T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [Bun](<https://devfeed.tech/topics/bun.md>), [Vercel](<https://devfeed.tech/topics/vercel.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [servers](<https://devfeed.tech/topics/servers.md>)

Tags: [bun](<https://devfeed.tech/tags/bun.md>), [compute](<https://devfeed.tech/tags/compute.md>), [concurrent](<https://devfeed.tech/tags/concurrent.md>), [data](<https://devfeed.tech/tags/data.md>), [external](<https://devfeed.tech/tags/external.md>), [pricing](<https://devfeed.tech/tags/pricing.md>), [server](<https://devfeed.tech/tags/server.md>), [vercel](<https://devfeed.tech/tags/vercel.md>)

### AI overview

Vercel Functions now support Bun.serve() as a Bun runtime entrypoint, including WebSocket handlers. Locally run Bun servers can deploy as-is without being wrapped in a framework, with routes defined in a project-level server.ts file.

### Source excerpt

The Bun runtime for Vercel Functions now supports Bun.serve() as a function entrypoint, including WebSocket handlers. The server you run locally with Bun deploys as-is, without being wrapped in a framework. Enable the runtime by setting "bunVersion": "1.x" in vercel.json. Deploy a routes-based server Create a server with a routes map in server.ts at the project root. Accept WebSocket connections Add a websocket handler and call server.upgrade(request) in fetch to upgrade matching requests. The rest of the server stays the same. WebSocket connections run on Fluid compute with Active CPU pricing, so you pay only for time spent processing messages, not idle connection time. A connection is pinned to one function instance for its lifetime, and a single instance can handle multiple concurrent connections. Use an external data store to coordinate messages across instances. Read the documentation to get started. Read more

## WebSocket support is now available for Python Functions

DevFeed: [WebSocket support is now available for Python Functions](<https://devfeed.tech/articles/websocket-support-is-now-available-for-python-functions-1198.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/websocket-support-is-now-available-for-python-functions>)

Author: Ricardo Gonzalez

Published: 2026-07-23T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Python](<https://devfeed.tech/topics/python.md>), [Vercel](<https://devfeed.tech/topics/vercel.md>), [ASGI](<https://devfeed.tech/topics/asgi.md>), [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [Django](<https://devfeed.tech/topics/django.md>), [Flask](<https://devfeed.tech/topics/flask.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [Frameworks](<https://devfeed.tech/topics/frameworks.md>), [AI Chat](<https://devfeed.tech/topics/ai-chat.md>), [client](<https://devfeed.tech/topics/client.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [applications](<https://devfeed.tech/tags/applications.md>), [code](<https://devfeed.tech/tags/code.md>), [collaboration](<https://devfeed.tech/tags/collaboration.md>), [communication](<https://devfeed.tech/tags/communication.md>), [django](<https://devfeed.tech/tags/django.md>), [examples](<https://devfeed.tech/tags/examples.md>), [features](<https://devfeed.tech/tags/features.md>), [flask](<https://devfeed.tech/tags/flask.md>), [frameworks](<https://devfeed.tech/tags/frameworks.md>), [python](<https://devfeed.tech/tags/python.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [server](<https://devfeed.tech/tags/server.md>), [streaming](<https://devfeed.tech/tags/streaming.md>), [vercel](<https://devfeed.tech/tags/vercel.md>)

### AI overview

Vercel has added WebSocket support for Python applications and Functions. The feature supports bidirectional client-server communication for real-time use cases such as interactive AI streaming, chat, and multiplayer collaboration, with compatibility for ASGI and WSGI applications including FastAPI, Django, and Flask.

### Source excerpt

Vercel now supports WebSocket connections for Python applications. WebSockets enable bidirectional communication between client- and server-side code, powering real-time features like interactive AI streaming, real-time chat, and multiplayer live collaboration. Both ASGI and WSGI applications are supported, including frameworks like FastAPI, Django, and Flask. Explore the FastAPI AI Chat and Flask AI Chat examples, or read the WebSockets documentation to get started. Read more

## Durable Objects are Made for Agents

DevFeed: [Durable Objects are Made for Agents](<https://devfeed.tech/articles/durable-objects-are-made-for-agents-37184.md>)

Original publisher: [Read original article](<https://calv.info/durable-objects-are-made-for-agents>)

Author: Calvin French-Owen

Published: 2026-07-22T12:00:00Z

Content type: opinion

Language: en

Sources: [Calvin French-Owen](<https://devfeed.tech/sources/calvin-french-owen.md>)

Topics: [Cloudflare](<https://devfeed.tech/topics/cloudflare.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>), [SQLite](<https://devfeed.tech/topics/sqlite.md>), [V8](<https://devfeed.tech/topics/v8.md>), [event driven](<https://devfeed.tech/topics/event-driven.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [wasm](<https://devfeed.tech/topics/wasm.md>)

Tags: [cloudflare](<https://devfeed.tech/tags/cloudflare.md>), [event-driven](<https://devfeed.tech/tags/event-driven.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>), [v8](<https://devfeed.tech/tags/v8.md>), [websockets](<https://devfeed.tech/tags/websockets.md>)

### AI overview

An opinionated technical article explains why Cloudflare Durable Objects can be a strong primitive for building agents and other stateful products. It describes their serverless V8 execution model, per-object SQLite storage, ID-based request routing, event-driven structure, and potential shortcomings.

### Source excerpt

I've spent the last few months building almost exclusively on Cloudflare Durable Objects. They're a near-perfect primitive for building agents--here's where they shine, and where they fall short.

## 🍔🧠 Why Linear Feels So Fast (Technical Breakdown)

DevFeed: [🍔🧠 Why Linear Feels So Fast (Technical Breakdown)](<https://devfeed.tech/articles/why-linear-feels-so-fast-technical-breakdown-18139.md>)

Original publisher: [Read original article](<https://hungrymindsdev.substack.com/p/why-linear-feels-so-fast-technical>)

Author: Alexandre Zajac

Published: 2026-07-20T15:30:40Z

Content type: article

Language: en

Sources: [Hungry Minds](<https://devfeed.tech/sources/hungry-minds.md>)

Topics: [Caching](<https://devfeed.tech/topics/caching.md>), [Local-First](<https://devfeed.tech/topics/local-first.md>), [client](<https://devfeed.tech/topics/client.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [Vite](<https://devfeed.tech/topics/vite.md>), [npm](<https://devfeed.tech/topics/npm.md>)

Tags: [cache](<https://devfeed.tech/tags/cache.md>), [caching](<https://devfeed.tech/tags/caching.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [linear](<https://devfeed.tech/tags/linear.md>), [local-first](<https://devfeed.tech/tags/local-first.md>), [npm](<https://devfeed.tech/tags/npm.md>), [technical](<https://devfeed.tech/tags/technical.md>), [vite](<https://devfeed.tech/tags/vite.md>), [websocket](<https://devfeed.tech/tags/websocket.md>)

### AI overview

A technical breakdown of how Linear aims to feel fast by minimizing network latency. It describes local-first state updates, asynchronous synchronization over WebSocket, code splitting, parallel module loading, service-worker precaching, and separately cached dependency chunks.

### Source excerpt

PLUS: Virtual memory explained 👨💻, Spark retires vector DBs 💾, Backprop explained simply 🧮

## Starlette vs FastAPI: what FastAPI actually adds

DevFeed: [Starlette vs FastAPI: what FastAPI actually adds](<https://devfeed.tech/articles/starlette-vs-fastapi-what-fastapi-actually-adds-20058.md>)

Original publisher: [Read original article](<https://www.honeybadger.io/blog/starlette-vs-fastapi/>)

Author: Farhan Hasin Chowdhury

Published: 2026-07-20T07:00:00Z

Content type: comparison

Language: en

Sources: [Honeybadger](<https://devfeed.tech/sources/honeybadger.md>)

Topics: [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [Pydantic](<https://devfeed.tech/topics/pydantic.md>), [ASGI](<https://devfeed.tech/topics/asgi.md>), [OpenAPI Specification](<https://devfeed.tech/topics/openapi.md>), [Dependency injection](<https://devfeed.tech/topics/dependency-injection.md>), [Python](<https://devfeed.tech/topics/python.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Cross-origin resource sharing (CORS)](<https://devfeed.tech/topics/cors.md>)

Tags: [cors](<https://devfeed.tech/tags/cors.md>), [data-validation](<https://devfeed.tech/tags/data-validation.md>), [dependency-injection](<https://devfeed.tech/tags/dependency-injection.md>), [fastapi](<https://devfeed.tech/tags/fastapi.md>), [frameworks](<https://devfeed.tech/tags/frameworks.md>), [openapi](<https://devfeed.tech/tags/openapi.md>), [python](<https://devfeed.tech/tags/python.md>), [python-articles](<https://devfeed.tech/tags/python-articles.md>), [starlette](<https://devfeed.tech/tags/starlette.md>), [websocket](<https://devfeed.tech/tags/websocket.md>)

### AI overview

This comparison explains how FastAPI builds on Starlette and Pydantic. Starlette provides the ASGI-based HTTP layer, while Pydantic handles typed data validation; FastAPI adds type-driven parameter parsing, dependency injection, and automatic OpenAPI documentation. It also discusses when using raw Starlette may be preferable.

### Source excerpt

FastAPI is built on Starlette, but most developers never look at what's underneath. Learn what FastAPI actually adds on top of Starlette and Pydantic, what comes straight from Starlette, and when dropping down to raw Starlette makes more sense than pulling in the full stack.

## How Discord Fans Out One Message to a Million Users

DevFeed: [How Discord Fans Out One Message to a Million Users](<https://devfeed.tech/articles/how-discord-fans-out-one-message-to-a-million-users-18023.md>)

Original publisher: [Read original article](<https://blog.levelupcoding.com/p/discord-case-study-one-message-million-users>)

Author: Nikki Siapno

Published: 2026-07-07T13:22:26Z

Content type: article

Language: en

Sources: [Level Up Coding System Design Newsletter](<https://devfeed.tech/sources/level-up-coding-system-design-newsletter.md>)

Topics: [Discord](<https://devfeed.tech/topics/discord.md>), [Publish-subscribe pattern](<https://devfeed.tech/topics/pubsub.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Processes](<https://devfeed.tech/topics/processes.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [case-study](<https://devfeed.tech/tags/case-study.md>), [channel](<https://devfeed.tech/tags/channel.md>), [discord](<https://devfeed.tech/tags/discord.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [permission](<https://devfeed.tech/tags/permission.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [scale](<https://devfeed.tech/tags/scale.md>), [server](<https://devfeed.tech/tags/server.md>), [websocket](<https://devfeed.tech/tags/websocket.md>)

### AI overview

This case study explains how Discord fans out a single message to many online users. It describes a real-time backend built around pub/sub, guild routing processes, permission checks, session processes, and WebSocket delivery.

### Source excerpt

A case study in fanout, bottlenecks, and the engineering decisions behind Discord's scale.

## NuttX Web Panel: A self-hosted web interface for NuttX

DevFeed: [NuttX Web Panel: A self-hosted web interface for NuttX](<https://devfeed.tech/articles/nuttx-web-panel-a-self-hosted-web-interface-for-nuttx-13777.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2026/06/nuttx-webpanel/>)

Author: John Lee

Published: 2026-06-29T00:00:00Z

Content type: tutorial

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [NuttX](<https://devfeed.tech/topics/nuttx.md>), [Self-hosted](<https://devfeed.tech/topics/self-hosted.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [Python](<https://devfeed.tech/topics/python.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>)

Tags: [apache](<https://devfeed.tech/tags/apache.md>), [blog](<https://devfeed.tech/tags/blog.md>), [esp32-p4](<https://devfeed.tech/tags/esp32-p4.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [nuttx](<https://devfeed.tech/tags/nuttx.md>), [posix](<https://devfeed.tech/tags/posix.md>), [python](<https://devfeed.tech/tags/python.md>), [self-hosted](<https://devfeed.tech/tags/self-hosted.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [web](<https://devfeed.tech/tags/web.md>), [web-interface](<https://devfeed.tech/tags/web-interface.md>), [wi-fi](<https://devfeed.tech/tags/wi-fi.md>)

### AI overview

NuttX Web Panel is a self-hosted web interface that runs on a NuttX device. It combines system monitoring, a browser-based NSH terminal, and file management, including uploading and running Python scripts without recompiling firmware.

### Source excerpt

NuttX Web Panel is a self-hosted web interface for NuttX that provides system information, a browser-based NSH terminal, and file management. Combined with Python, it turns NuttX into a computing platform where interpreted applications can be developed and tested without recompiling code.

## Realtime voice, speech, and transcription now supported on AI Gateway

DevFeed: [Realtime voice, speech, and transcription now supported on AI Gateway](<https://devfeed.tech/articles/realtime-voice-speech-and-transcription-now-supported-on-ai-gateway-1067.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/realtime-voice-speech-and-transcription-now-supported-on-ai-gateway>)

Author: Jerilyn Zheng

Published: 2026-06-29T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [real-time](<https://devfeed.tech/topics/real-time.md>), [voice ai](<https://devfeed.tech/topics/voice-ai.md>), [vercel ai sdk](<https://devfeed.tech/topics/vercel-ai-sdk.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [browser](<https://devfeed.tech/topics/browser.md>), [Low Latency](<https://devfeed.tech/topics/low-latency.md>), [API keys](<https://devfeed.tech/topics/api-keys.md>), [observability](<https://devfeed.tech/topics/observability.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [api](<https://devfeed.tech/tags/api.md>), [app](<https://devfeed.tech/tags/app.md>), [audio](<https://devfeed.tech/tags/audio.md>), [browser](<https://devfeed.tech/tags/browser.md>), [code](<https://devfeed.tech/tags/code.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [latency](<https://devfeed.tech/tags/latency.md>), [low-latency](<https://devfeed.tech/tags/low-latency.md>), [playground](<https://devfeed.tech/tags/playground.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [speech](<https://devfeed.tech/tags/speech.md>), [transcription](<https://devfeed.tech/tags/transcription.md>), [voice](<https://devfeed.tech/tags/voice.md>)

### AI overview

AI Gateway adds beta support for realtime voice and audio models through AI SDK 7, enabling voice agents, text-to-speech, and speech-to-text. Developers can use the realtime example, quickstart, or browser playground, with observability, spend controls, bring-your-own-key support, and no markup or platform fees.

### Source excerpt

AI Gateway now supports voice and audio models. You can build realtime voice agents, generate speech from text, and transcribe audio to text. This provides the same observability, spend controls, and bring-your-own-key support as text, image, and video models in AI Gateway, with no markup or platform fees. These capabilities are in beta and available via AI SDK 7. With realtime support, a single model takes audio in and audio out, so a user can talk and hear a reply back in near real time instead of waiting on a chain of separate models. Capability What it does Realtime voice agents Model listens to the user, works out a response, and speaks it back in a live, low-latency conversation. It can call your tools mid-conversation to look something up or take an action. The useRealtime hook handles microphone capture and playback. Text to speech Generate spoken audio from text, with a selectable voice and output format such as MP3. Use it for voiceovers, audio versions of written content, and spoken responses. Speech to text Transcribe recordings into text, from a file buffer, base64 string, or URL. Use it for voice notes or other transcriptions. Two ways to get started: Follow the realtime example below or the realtime quickstart to add a voice agent to your app. Use the playground. Talk to a realtime model in the browser, no code required, in the AI Gateway Playground. Realtime example A voice agent has two pieces: a server route that mints a short-lived token, so your API key never reaches the client, and a browser component that connects with it. Add the token route: Then connect from the browser. The useRealtime hook fetches that route and manages the WebSocket connection, microphone capture, and audio playback: Playground You can also try audio models without writing any code. Open the models page, click into a model, and interact with it right in the browser: Talk to a realtime model to hold a voice conversation Send text and have a transcription model read it back

## xAI Grok audio models now available on Vercel AI Gateway

DevFeed: [xAI Grok audio models now available on Vercel AI Gateway](<https://devfeed.tech/articles/xai-grok-audio-models-now-available-on-vercel-ai-gateway-1208.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/xai-grok-audio-models-now-available-on-vercel-ai-gateway>)

Author: Carlton Aikins

Published: 2026-06-29T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [vercel ai sdk](<https://devfeed.tech/topics/vercel-ai-sdk.md>), [voice ai](<https://devfeed.tech/topics/voice-ai.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [API](<https://devfeed.tech/topics/api.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Vercel](<https://devfeed.tech/topics/vercel.md>), [React](<https://devfeed.tech/topics/react.md>), [browser](<https://devfeed.tech/topics/browser.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-gateway](<https://devfeed.tech/tags/ai-gateway.md>), [api](<https://devfeed.tech/tags/api.md>), [audio](<https://devfeed.tech/tags/audio.md>), [browser](<https://devfeed.tech/tags/browser.md>), [models](<https://devfeed.tech/tags/models.md>), [observability](<https://devfeed.tech/tags/observability.md>), [react](<https://devfeed.tech/tags/react.md>), [release](<https://devfeed.tech/tags/release.md>), [responses](<https://devfeed.tech/tags/responses.md>), [routing](<https://devfeed.tech/tags/routing.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [server](<https://devfeed.tech/tags/server.md>), [speech](<https://devfeed.tech/tags/speech.md>), [text-to-speech](<https://devfeed.tech/tags/text-to-speech.md>), [vercel](<https://devfeed.tech/tags/vercel.md>), [voice](<https://devfeed.tech/tags/voice.md>)

### AI overview

xAI Grok audio models are now available through Vercel AI Gateway and the AI SDK 7 release. The integration supports realtime voice, text-to-speech, and speech-to-text, with routing, observability, and spend controls.

### Source excerpt

xAI's audio models are now live on AI Gateway. Realtime voice, text to speech, and speech to text are all available through the AI SDK with the same routing, observability, and spend controls as your other models. These capabilities are available on the AI SDK 7 release. Available models Capability Models Realtime voice xai/grok-voice-think-fast-1.0 Text to speech xai/grok-tts Speech to text xai/grok-stt Realtime A voice agent has two pieces: a server route that mints a short-lived token, so your API key never reaches the client, and a browser component that connects with it. Add the token route: this example sets model to xai/grok-voice-think-fast-1.0: Then connect from the browser. The useRealtimehook from @ai-sdk/react fetches that route and manages the WebSocket connection, microphone capture, and audio playback: Text to speech Generate spoken audio from text with generateSpeech. Pass a voice and an output format, then write the result to a file with xai/grok-tts: Speech to text Transcribe recordings into text with transcribe. This example uses xai/grok-stt: Playground You can also try the xAI audio models directly in the AI Gateway playground. Open the models list and click into any of the models to use them directly in the browser. The xai/grok-voice-think-fast-1.0 playground here allows you to talk to the agent and see responses instantly: More information Realtime quickstart Speech quickstart See all xAI models Read more

[Next page](<https://devfeed.tech/topics/websocket.md?cursor=WyIyMDI2LTA2LTI5VDAwOjAwOjAwKzAwOjAwIiwgIjM5OTBlMjI1LWMyMzktNGE2OC1iMjJjLWU5NWYzYTdmOTgxNSJd>)