$ cat can-ai-replace-humans.mdx
AI
Can AI Replace Humans?
AI can replace some tasks, but replacing humans is a much bigger question. The real change is not human versus AI — it is people who learn to work with AI versus people who ignore it.
$ cat can-ai-replace-humans.mdx
AI
AI can replace some tasks, but replacing humans is a much bigger question. The real change is not human versus AI — it is people who learn to work with AI versus people who ignore it.
$ cat designing-llm-evals-that-catch-regressions.mdx
AI
LLM features break in ways normal unit tests miss. A useful eval suite starts with real examples, checks behavior instead of vibes, and separates model quality from product quality.
$ cat streaming-llm-responses-nextjs.mdx
AI
Token-by-token streaming makes an AI feature feel instant. Here's how I stream model output straight from a Next.js Route Handler using the Web Streams API — no extra SDK, no client library, about 40 lines total.
$ cat rag-pgvector-postgres.mdx
RAG
You don't need a dedicated vector database to ship retrieval-augmented generation. With the pgvector extension, the Postgres instance behind your app becomes a semantic search engine. Here's the whole pipeline — chunking, embedding, storing, and querying.
$ cat structured-outputs-tool-calling-llms.mdx
LLM
"Respond in JSON" in the prompt is not a contract — it's a suggestion the model breaks under pressure. Here's how I get schema-valid structured data every time using tool calling, schema validation, and a tight repair loop.