Writing

Blog

Practical guides on AI, automation, and software engineering. Written by engineers who build this stuff every day.

Featured·July 10, 2026·8 min read

How to Fix LLM Hallucinations in Your Production App

Hallucinations aren't random bugs — they're predictable failure modes with specific fixes. Here's the production playbook we use on every AI project.

AILLMProductionTutorial
Read article →
July 8, 2026·8 min read

How to Build an AI Agent in Node.js from Scratch

AI agents aren't magic — they're loops. Here's how to build a real one with Node.js, the OpenAI API, and a set of tools your agent can actually call.

AINode.jsAutomation
Read article →
July 5, 2026·7 min read

OpenAI vs Anthropic Claude: Which API Should You Use in Production?

We've shipped production apps on both. Here's an honest breakdown of when to use OpenAI vs Claude, with real performance data from our projects.

AIOpenAIClaude
Read article →
June 28, 2026·6 min read

How to Stream LLM Responses in Next.js (App Router)

Waiting 10 seconds for a full LLM response kills UX. Streaming shows output as it generates — here's the complete implementation for Next.js App Router.

AINext.jsStreaming
Read article →
June 24, 2026·7 min read

How to Automate Any Repetitive Workflow Using an LLM Pipeline

If you can describe a task in words, you can probably automate it with an LLM. Here's a practical framework for identifying which workflows are worth automating and how to build the pipeline.

AIAutomationLLM
Read article →
June 22, 2026·7 min read

How to Reduce OpenAI API Costs by 80% Without Sacrificing Quality

OpenAI bills add up fast. These six techniques cut costs dramatically while keeping output quality high.

AIOpenAICost
Read article →
June 18, 2026·8 min read

7 Next.js App Router Mistakes That Are Killing Your Performance

The App Router is powerful but easy to misuse. These are the most common mistakes we see in production Next.js codebases.

Next.jsReactPerformance
Read article →
June 15, 2026·9 min

Build a Production AI Agent with the Claude API

Claude APIAI agentsAnthropic
Read article →
June 15, 2026·9 min read

How to Add Auth to Next.js Without NextAuth (JWT + Cookies)

NextAuth is overkill for many apps. Here's a clean, minimal JWT authentication implementation for Next.js that you fully control.

Next.jsAuthJWT
Read article →
June 10, 2026·8 min

Function Calling with LLMs: A Complete Implementation Guide

function callingLLMOpenAI
Read article →
June 10, 2026·9 min read

Add Semantic Search to Any App Using Embeddings

Keyword search breaks the moment users don't know exactly what to type. Semantic search fixes that — and it's easier to add than you think. Here's the full implementation.

AISearchEmbeddings
Read article →
June 8, 2026·10 min

How to Evaluate LLM Outputs in Production (Without Going Insane)

LLM evaluationAI testingproduction ML
Read article →
June 5, 2026·8 min

Fine-Tuning vs RAG: Which One Does Your App Actually Need?

fine-tuningRAGLLM
Read article →
June 2, 2026·9 min

Prompt Injection Attacks: How They Work and How to Defend Against Them

securityprompt injectionLLM security
Read article →
May 30, 2026·10 min

Building a Production Voice AI Agent: From Whisper to TTS

voice AIWhisperTTS
Read article →
May 28, 2026·9 min

PostgreSQL Query Optimization: From Slow to Sub-10ms

PostgreSQLdatabaseperformance
Read article →
May 28, 2026·10 min read

RAG: Give Your LLM Access to Your Own Documents

Retrieval-Augmented Generation (RAG) lets your LLM answer questions about your own data without fine-tuning. Here's how to build it properly — including the parts most tutorials skip.

AIRAGLLM
Read article →
May 25, 2026·8 min

pgvector: Add Semantic Search to PostgreSQL in 30 Minutes

pgvectorPostgreSQLsemantic search
Read article →
May 22, 2026·9 min

PostgreSQL Migrations Without Downtime: The Complete Guide

PostgreSQLdatabase migrationszero downtime
Read article →
May 20, 2026·8 min

GitHub Actions CI/CD for Node.js: From Zero to Automated Deploys

GitHub ActionsCI/CDNode.js
Read article →
May 18, 2026·9 min

Docker in Production: Best Practices You're Probably Missing

Dockerproductionsecurity
Read article →
May 15, 2026·8 min

Redis Caching in Node.js: Patterns That Actually Work in Production

RediscachingNode.js
Read article →
May 12, 2026·9 min

Kubernetes Local Development That Doesn't Drive You Insane

Kubernetesk3dTilt
Read article →
May 10, 2026·9 min

Solidity Reentrancy Attacks: How They Work and How to Prevent Them

Soliditysmart contractssecurity
Read article →
May 8, 2026·9 min

Solidity Gas Optimization: Cut Your Transaction Costs by 50%

Soliditygas optimizationEthereum
Read article →
May 5, 2026·10 min

Build and Deploy an ERC-20 Token in Under an Hour

ERC-20SolidityHardhat
Read article →
May 3, 2026·8 min

Hardhat vs Foundry: Which One Should You Use in 2026?

HardhatFoundrySolidity
Read article →
April 30, 2026·8 min

MetaMask Integration in React: Connect Wallets the Right Way

MetaMaskWeb3React
Read article →
April 28, 2026·7 min

Run LLMs Locally with Ollama: Complete Setup and API Guide

Ollamalocal LLMLlama
Read article →
April 25, 2026·8 min

React Server Components: What They Are and When to Use Them

ReactRSCNext.js
Read article →
April 22, 2026·8 min

Zero-Downtime Deployments: Practical Patterns for Web Apps

deploymentDevOpsblue-green
Read article →
April 20, 2026·9 min

Monitoring and Observability for Node.js Apps in Production

monitoringobservabilityNode.js
Read article →
April 18, 2026·8 min

WebSockets in Production with Node.js: Real-Time at Scale

WebSocketsNode.jsreal-time
Read article →
April 15, 2026·8 min

REST API Design Best Practices: Building APIs Developers Love

REST APIAPI designbackend
Read article →
April 12, 2026·9 min

Next.js Caching Explained: Request Memoization, Data Cache, and Full Route Cache

Next.jscachingperformance
Read article →
April 10, 2026·9 min

Advanced TypeScript Patterns That Actually Solve Real Problems

TypeScriptadvanced TypeScripttype system
Read article →
April 8, 2026·8 min

Next.js Performance Optimization: Making Your App Blazingly Fast

Next.jsperformanceCore Web Vitals
Read article →
April 5, 2026·8 min

React Performance Patterns: Stop Unnecessary Re-renders

Reactperformancememo
Read article →
April 3, 2026·8 min

Running PostgreSQL in Docker for Production: A Complete Guide

PostgreSQLDockerproduction
Read article →
April 1, 2026·8 min

AWS vs GCP vs Azure for Startups: An Honest Comparison

AWSGCPAzure
Read article →
March 30, 2026·9 min

Terraform for Beginners: Infrastructure as Code That Actually Makes Sense

Terraforminfrastructure as codeAWS
Read article →
March 28, 2026·10 min

Build an NFT Marketplace with Solidity and Next.js

NFTERC-721Solidity
Read article →
March 25, 2026·8 min

Message Queues in Node.js: BullMQ, RabbitMQ, and When to Use Each

message queueBullMQRabbitMQ
Read article →
March 22, 2026·9 min

Upgradeable Smart Contracts: Proxy Patterns Explained

Solidityupgradeable contractsproxy pattern
Read article →
March 20, 2026·8 min

Next.js Server Actions: The Right Way to Handle Forms and Mutations

Next.jsServer ActionsReact
Read article →
March 18, 2026·10 min

Building Multi-Agent AI Systems: Orchestration, Delegation, and Coordination

multi-agentAI agentsClaude
Read article →
March 15, 2026·7 min

Next.js Route Handlers: Building APIs That Don't Suck

Next.jsAPI routesRoute Handlers
Read article →
March 12, 2026·9 min

React Native with Expo: Build a Production Mobile App in 2026

React NativeExpomobile
Read article →
March 10, 2026·8 min

tRPC: End-to-End TypeScript APIs Without Code Generation

tRPCTypeScriptNext.js
Read article →
March 8, 2026·9 min

Web3 dApp Architecture: How to Structure a Production Decentralized App

Web3dApparchitecture
Read article →