Skip to content
HomeInsights

Insights

Ideas for building
better software.

Engineering perspectives on architecture, product development, AI, and the everyday decisions behind useful software.

From the engineering desk

Browse practical articles or follow the latest technology updates.

Subscribe via RSS →

Curated links from external sources — not 360Softy original articles.

ExternalFrontend Development
Vercel Blog

Sandboxes now expire based on last use

Vercel Sandbox snapshots now expire based on when they were last used, not when they were created. Active snapshots stay alive as long as workflows depend on them, while unused snapshots expire on their retention policy. Every time a snapshot is used, its expiration timer resets. This lets you set shorter retention windows without worrying that a snapshot will disappear between sessions, making it safer to build long-running workflows on top of Sandbox persistence. Learn more about Sandbox snaps

Vercel BlogRead original
ExternalSoftware Engineering
DEV Community

"Claude Code '400: no low surrogate in string' on every turn: repairing a permanently broken session transcript"

Originally published on hexisteme notes. A Claude Code session that returns API Error: 400 ... not valid JSON: no low surrogate in string on every turn is poisoned by a lone UTF-16 surrogate (a code point in U+D800–U+DFFF) baked into its on-disk transcript, and the fix is to close that session, strip only those lone surrogates from the offending line of the .jsonl file while leaving real emoji untouched, re-serialize that one line, and then claude --resume. The poison is already on disk and is p

DEV CommunityRead original
ExternalSoftware Engineering
DEV Community

Caching LLM responses is just content addressing

An LLM review costs money and a few seconds of latency. Reviewing the same diff twice should cost neither. CommitBrief caches every review, but the interesting part isn't that it caches — it's that the cache is content-addressed, so a hit is provably the same review, and there is no such thing as a stale one. Editing a single line of your rules file invalidates exactly the entries it should, and not one more, with zero invalidation logic anywhere in the code. TL;DR The cache key is a SHA-256 of

gollmperformance
DEV CommunityRead original
ExternalObservability
Elastic Blog

Your AI isn’t underperforming. Your data foundation is.

New research shows Australian businesses are blowing AI budgets on tokenmaxxing instead of fixing their underlying data foundations. Discover why data quality, not the model, determines your true AI ROI for the new financial year.

Elastic BlogRead original
ExternalFrontend Development
Vercel Blog

xAI Grok audio models now available on Vercel AI Gateway

are now live on AI Gateway. Realtime voice, text to speech, and speech to text are all available through the with the same routing, observability, and spend controls as your other models.xAI's audio modelsAI SDK These capabilities are available on the AI SDK 7 release. 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 to :modelxai/grok-voic

Vercel BlogRead original
ExternalFrontend Development
Vercel Blog

Realtime voice, speech, and transcription now supported on 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 7.AI GatewayAI SDK 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

Vercel BlogRead original

Let’s start with a conversation

Tell us what you’re working on.

An idea, a challenge, or a system that needs to work better. We’ll help you understand the next step.