Vercel AI SDK v5 in Production: What useChat Actually Replaced
I shipped chat UIs the hard way before Vercel AI SDK existed. Here's what useChat, streamText, and tools v5 actually replaced in my production apps.
I shipped chat UIs the hard way before Vercel AI SDK existed. Here's what useChat, streamText, and tools v5 actually replaced in my production apps.
My one-line rule for SQLite vs Postgres, the four PRAGMAs that made SQLite production-ready for me, and the cases where I still pick Postgres without…
PHP 8.4 array_find, array_any, array_all, and array_find_key replaced years of array_filter plus current chains in my codebase. Here is what stuck.
Three TypeScript generics patterns I actually use in production code, plus the places I learned to delete the generic and what I write instead.
How I split thiserror and anyhow inside Axum handlers, then let IntoResponse map domain errors to real status codes without leaking internals to callers.
Pages Router in Next.js isn't legacy in 2026. Here's when I still reach for it instead of App Router on real production projects, with code…
I almost shipped a phishing URL inside an AI-generated PR. Here are the AI code review tools and checks I now run before any AI-written…
Real notes on which Laravel 12 features stuck after fifteen months in production: the streamlined skeleton, Inertia 2 deferred props, and what I dropped.
I migrated five apps between monorepo and polyrepo three times in a year. Here's the framework that finally stuck, and the tools I actually pick…
Eight months running React Server Components in production. The boundary patterns that worked, the bugs I shipped, and when I still pick client components.