// Topics / Go
Go
53 entries tagged “Go”
- Building Reliable AI Agents in Go
· 5 min
How I build reliable AI agents in Go: bounded tools, schema validation at the boundary, idempotent state, and a supervisor loop with hard limits.
agents
reliability
ai
Running LLMs Locally: A Team Guide With Ollama and Go
· 6 min
Local AI is no longer a hobby project. How to set it up properly: provider abstraction, versioned models, eval harnesses, and a cloud fallback.
llm
development
privacy
Testing AI in Production: Shadow Mode, Canaries, Holdouts
· 6 min
Offline evals aren't enough. How I test AI features in production with shadow mode, canaries, holdouts, and automatic fallback, with Go code.
testing
ai
production
Model Context Protocol in Go: Building an MCP Tool Server
· 7 min
I built a Model Context Protocol server in Go with mcp-go. The protocol layer is clean. Auth, permissions, and write safety are still on you.
agents
ai
go
AI Code Review Is Mostly Noise
· 4 min
Months of AI code review on real PRs: about 22% of comments get accepted. How I scope prompts, track hit rate, and keep it out of merge gates.
engineering
ai
development
Reasoning Models in Production: A Practical Guide
· 7 min
Reasoning models are slow and expensive. How I run them in Go services: complexity routing, async jobs, per-request budgets, and result caching.
llm
production
ai
AI Agent Patterns in Go: Planning, Memory, Recovery
· 7 min
Single-prompt agents break on real tasks. Plan-execute-replan, orchestrated specialists, structured memory, and explicit recovery, with Go code.
agents
ai
go
RAG Retrieval in Go: Hybrid Search, Chunking, Reranking
· 7 min
Most RAG failures are retrieval failures. Hybrid search, structural chunking, query expansion, and reranking, each measured separately from generation.
llm
go
AI-Assisted Code Migration: Lessons From 200K Lines of Go
· 4 min
I used LLMs to help migrate a 200K-line Go codebase. The mechanical parts went fast. Everything else was still hard.
ai
technical-debt
go
How I Test LLM Features: Three Layers, One Cadence
· 5 min
LLM outputs are non-deterministic. That doesn't mean you can't test them rigorously. Here's the layered testing approach I use in production.
llm
testing
ai
LLM Function Calling Patterns That Survive Production
· 7 min
Function calling is how LLMs touch real systems. Treat tools like APIs, arguments like untrusted input, and the model like an intern with root access.
llm
ai
go
Building Voice AI: Latency, Interruptions, and Narrow Scope
· 5 min
Voice AI is ready to ship. The hard parts are latency, interruptions, and knowing when voice is the wrong interface. Here's how I approach it.
llm
ai
go
LLM Structured Output in Go: JSON Schema, Validation, Retries
· 7 min
How to get reliable JSON from LLMs in Go with schemas, validation, repair loops, and typed contracts.
llm
api
go
LLM Response Caching in Go: Cut Costs Without Breaking Things
· 6 min
LLM response caching in Go: versioned cache keys, TTLs by data freshness, event-driven invalidation, and what never to cache.
llm
performance
go
Architecting AI-Native Applications (Without the Delusion)
· 7 min
AI-native apps differ from a model bolted onto a CRUD app. The layers, confidence routing, fallbacks, and feedback loops I use, with Go code.
architecture
ai
engineering
Local LLMs for Development: Stop Paying to Test Prompts
· 3 min
Local LLMs are good enough for development now. Iterate on prompts against Ollama, and save the API bill for evals and production traffic.
llm
engineering
go
OpenAI Assistants API: Two Weeks of Real Use
· 4 min
Two weeks building internal tools on OpenAI's Assistants API: quick wins with retrieval and code interpreter, opaque internals, and runs that hang.
llm
ai
go
AI Coding Assistant Productivity: Three Months of Numbers
· 5 min
Three months tracking Copilot and GPT-4 on real Go work: 25-30% faster on boilerplate, no gain on debugging, and a 15% review tax on AI-written code.
ai
developer-experience
productivity
LLM Security: A Field Guide for People Who Ship Things
· 6 min
LLMs bring security failure modes most teams aren't defending against. Prompt injection, data leakage, tool abuse, and cost attacks are exploitable today.
security
llm
ai
AI Agent Architecture Patterns for Production
· 6 min
Agent demos impress. Production agents mostly don't. Planning, memory, least-privilege tool access, and evals: the systems design that decides what ships.
ai
agents
llm
Embedding Models Compared: Quality, Cost, and Latency
· 6 min
ada-002, instructor-large, and all-MiniLM-L6-v2 on a 150-query retrieval eval: precision, MRR, latency, index size, cost, and when to self-host.
llm
ai
go
Building Semantic Search in Go with OpenAI and pgvector
· 7 min
Building semantic search with Go, OpenAI embeddings, and pgvector: structure-aware chunking, hybrid retrieval, an eval set, and the mistakes I made.
ai
llm
go
AI Code Review: What It Catches and What It Misses
· 4 min
Three months of AI-assisted code review on Go services: it catches unchecked errors and leaks, misses context, and only helps once you filter the noise.
ai
engineering
developer-experience
RAG in Production: Patterns That Survive Real Traffic
· 8 min
RAG quality is retrieval quality. Chunking, hybrid search, query shaping, reranking, and evals for grounding LLMs in private data, with Go examples.
llm
ai
go
Vector Databases Explained: What They Are, When You Need One
· 6 min
What vector databases store, how similarity search and ANN indexes work, and when pgvector is enough versus a dedicated vector database.
llm
ai
go
LLM Integration Patterns That Survive Production
· 6 min
LLM calls are slow, costly, and non-deterministic. Patterns for prompt versioning, structured output validation, RAG, tool guardrails, and fallbacks in Go.
ai
llm
go
Testing Microservices: Contract Tests Over End-to-End Suites
· 4 min
Microservices fail at the seams. A layered test strategy that keeps feedback fast and catches integration issues before production.
testing
microservices
go
Go Concurrency Patterns I Use in Every Service
· 7 min
Worker pools, fan-out/fan-in, pipelines, and the cancellation discipline that keeps Go services predictable under load.
go
architecture
backend
Caching Strategies: Adding It Is Easy, Invalidation Is Hard
· 6 min
Cache-aside, write-through, invalidation strategies, and the failure modes that will wake you up at night. With Go examples.
performance
databases
go
Rate Limiting: The Boring Feature That Saves You at 3 AM
· 4 min
Token bucket, sliding windows, identity keys, response headers, and fail-open rules: how to pick and run rate limiting for high-traffic multi-tenant APIs.
api
backend
go
Distributed Systems Patterns I Keep Reaching For
· 6 min
Timeouts, retries with jitter, circuit breakers, sagas, outbox and inbox, backpressure: the distributed systems patterns that survive production.
distributed-systems
architecture
microservices
TypeScript Best Practices From a Go Developer
· 4 min
TypeScript is the best thing to happen to JavaScript, and that bar was low. Strict mode, boundary validation, and simple generics for large codebases.
engineering
architecture
go
OpenTelemetry in Late 2021: What's Ready and What's Not
· 5 min
OpenTelemetry in late 2021: tracing is ready, metrics are close, logs are not. A Collector-first adoption path with Go code, sampling, and naming rules.
observability
go
Event Sourcing in Go: Lessons From Financial Event Pipelines
· 7 min
Event sourcing in Go from a fintech content pipeline: aggregates, a Postgres event store, projections, snapshots, upcasters, and what I'd change.
architecture
go
Feature Flags at Scale: Ownership, Expiry, and Cleanup
· 5 min
847 feature flags, about 200 with owners. Lessons from production codebases on flag types, ownership rules, fail modes, and cleanup.
ci-cd
devops
go
WebAssembly Beyond the Browser: A 2021 Progress Report
· 5 min
Server-side Wasm in mid-2021: edge platforms and Envoy plugins are real, WASI still lacks networking, and containers aren't going anywhere.
infrastructure
cloud
go
GitHub Copilot: First Impressions From a Go Developer
· 4 min
Early notes from GitHub Copilot's technical preview on Go code: strong on boilerplate and tests, wrong on domain logic, unresolved on licensing.
developer-experience
ai
go
Rust vs Go for Cloud Services: A Go Developer's View
· 4 min
A Go developer on Rust in early 2021: where it wins (tail latency, memory, compile-time safety), where Go still wins, and when a rewrite pays off.
engineering
go
cloud
API Gateway Build vs Buy: Kong, Envoy, or Custom Go
· 6 min
I've built a custom Go gateway, run Kong in prod, evaluated Envoy, and used managed cloud gateways. What I recommend after doing each wrong at least once.
api
go
kubernetes
Kubernetes Operators in Go: Lessons From Six in Production
· 9 min
Lessons from building production operators at a cloud infrastructure startup: the reconciliation loop, controller-runtime patterns, and the mistakes that cost us sleep.
kubernetes
go
infrastructure
Event-Driven Architecture: What I Got Wrong, What Survived
· 10 min
Lessons from building event-driven systems at the fintech startup and my infrastructure startup: what works, what silently corrupts your data, and Go patterns that hold up.
architecture
go
distributed-systems
gRPC in Production with Go: Protos, Deadlines, Errors
· 11 min
gRPC patterns from moving a startup's internal APIs off REST: proto design, Go servers and clients, status codes, testing, and mistakes that cost weekends.
api
go
microservices
WebAssembly Outside the Browser: Real Promise, Real Gaps
· 3 min
WebAssembly outside the browser is interesting for edge, plugins, and sandboxing. But WASI and the tooling gaps are bigger than the hype admits.
infrastructure
go
How I Build CLI Tools in Go: Patterns That Hold Up
· 7 min
Patterns for Go CLIs that hold up: cobra commands, stdout vs stderr, useful errors, signal handling, config precedence, and shipping static binaries.
developer-experience
go
Message Queue Patterns: Idempotency, Retries, Dead Letters
· 8 min
Queues look simple on a whiteboard. Messaging patterns I learned the hard way at three startups: idempotent consumers, jittered retries, dead letters.
architecture
go
backend
Load Testing Strategies That Find Real Breaking Points
· 3 min
Most load tests produce comforting numbers instead of answers. Soak, spike, and baseline tests with production-shaped data, think time, and percentiles.
testing
performance
reliability
Monolith to Microservices: When to Split and How
· 5 min
Most teams shouldn't migrate to microservices. How to tell if you should, and how to split with the strangler pattern without wrecking delivery.
microservices
architecture
go
API Design Lessons: Every Field Is a Contract
· 4 min
HTTP API design lessons from fintech and mobility platforms: stable resource shapes, error formats, versioning, pagination, timestamps, and rate limits.
api
engineering
backend
GitOps with Flux and Argo CD: Stop Deploying From a Laptop
· 9 min
How to move a team off ad-hoc kubectl deploys to Git-driven Kubernetes with Flux and Argo CD: repo layout, secrets, rollbacks, and my mistakes.
ci-cd
devops
kubernetes
Making Go Services Fast: Profiling, Allocations, Timeouts
· 7 min
Go performance tuning from production: pprof profiling, cutting allocations, bounded concurrency, HTTP timeouts, and database pool settings.
go
performance
backend
Rust vs Go for Backend Services: A Go Developer's First Look
· 4 min
A Go developer tries Rust for backend work in early 2018: what impressed me, where it still hurts, and the one service where it might fit.
engineering
go
backend
2016 in Review: The Year I Stopped Fighting Infrastructure
· 4 min
My 2016 in review: Docker went mainstream, Kubernetes pulled ahead, Go earned its place, serverless lagged, and what a mobility startup taught me.
year-in-review
trends
engineering
Why We Chose Go for Our Backend Services
· 5 min
How Go replaced Python and Node as our default backend language at a mobility startup, and the tradeoffs we accepted.
go
backend
engineering