● 110 posts

Blog

Essays and field notes on agentic engineering, RAG, and running AI in production.

My Agent Kept SSHing Into the Box It Was Already Running On

A Claude agent on the dev host kept wrapping every command in ssh user@dev — connecting back into the machine it was already standing on. Here's the one-line guard that fixed it.

  • agents
  • claude
  • ssh

Agents Flag Merge-Readiness. Humans Merge.

One of my fleet agents ran gh pr merge on a Portal PR I wanted to land myself. The fix wasn't a smarter agent — it was taking the button away.

  • ai-agents
  • claude-code
  • devops

Gate the Boundary, Not Every Merge

I stopped making my AI coding agents ask before every merge. Now they auto-merge to dev and only stop at the door to production.

  • ai-agents
  • devops
  • git

Ask the Pane You're In, Not the One Tmux Is Looking At

My agents signed their messages with the wrong pane id because a bare tmux query reports the focused pane, not the one you're running in.

  • tmux
  • agents
  • debugging

My Rescue Script Typed a Command Into Claude's Chat

A tmux recovery routine sent `claude --resume` into a live agent session instead of a shell — and taught me that a running PID is not a working agent.

  • claude-code
  • tmux
  • agents

Merged Is Not Running

A P0 fix sat on main for two days while the live service happily ran the old code — because bun run reads your source exactly once.

  • bun
  • deployment
  • incident-review

My Agent Burned the SSH Lockout Budget Guessing Keys

How a bare `ssh <host>` let ssh-agent churn through every loaded key until macOS slammed the door — and the explicit connect pattern that fixed it.

  • ssh
  • agents
  • claude-code

The Zombie PR Loop: Why My Agents Kept Working After the Job Was Done

Five AI dev workflows kept pushing fixes to PRs that had already merged. The bug wasn't the poll — it was where I checked whether to stop.

  • agents
  • automation
  • reliability

My Agent's 'Green' Was a Lie Until I Ran the Real Test

How I stopped hand-wiring build-and-review pipelines for every task and standardized on a plan→work loop — and the one gate the loop can't close for me.

  • ai-agents
  • claude-code
  • orchestration

The Stale Pointer That Looked Like a Dead Login

A Mac in my Claude Code fleet failed auth after a reboot. The tokens were fine — the file the binary actually reads was three days behind.

  • claude-code
  • credentials
  • debugging

The tmux Title Said 'Debug QUIC error.' It Was Three Days Out of Date.

I nudged a peer Claude agent to start work it had already shipped, because I trusted a window title instead of reading what the agent actually said.

  • agents
  • tmux
  • orchestration

My File Sync Committed a Delete of 803,100 Files. Then Tried to Push It Everywhere.

A background sync faithfully staged every file in my knowledge base as a deletion and pushed it to the shared branch — where every other machine would have pulled the wipe. The bug wasn't the delete. It was that the sync trusted a working tree it never checked was real. Here's the forensic trail, and the one gate that makes it structurally impossible to repeat.

  • ai
  • agents
  • git

zsh Doesn't Split Your Variables, and Silence Is Not Success

An 8-hour SSH monitor that ran perfectly and did absolutely nothing, because a bash habit doesn't survive in zsh.

  • zsh
  • shell
  • monitoring

My Agents Cached Their Doctrine, Not My Commit

I refactored a shared skill mid-session and half my worker agents kept obeying the old rules — because they'd loaded their behavior the last time they talked to the boss, not the last time I hit save.

  • multi-agent
  • claude-code
  • agent-orchestration

Name the Pane, Not the UUID

My Claude Code sessions kept overwriting each other's names because I was guessing which one was which from the filesystem. The fix was to stop guessing.

  • tmux
  • claude-code
  • terminal

The Admin Override Is a Different Trust Context

My orchestrator agent borrowed the automated merge gate's lenient threshold for its own hand-merges, and landed two PRs with unresolved review threads.

  • agents
  • automation
  • code-review

The Glob That Ate the Rest of My Shell Init

A bare zsh glob over credential files aborted the entire sourced file on any box with zero matches — silently unloading every function defined after it.

  • zsh
  • shell
  • claude-code

Empty `which` Means 'Not in PATH,' Not 'Not Installed'

A bare `which` over SSH told me a CLI was missing on three Macs. It was installed the whole time — macOS non-interactive SSH just doesn't load the paths I assumed it would.

  • ssh
  • macos
  • homebrew

The Process I Killed Was Alive — It Just Had a Different Name

A liveness check that matched the wrong argv form declared every rescued Claude seat dead. The fix was learning all the names a process can wear.

  • claude-code
  • process-monitoring
  • agents

My Dotfiles Deploy Themselves Now (I Stopped SSHing Into Five Boxes)

How I replaced a fragile per-machine SSH sync script with one self-hosted GitHub Actions runner per box, each labeled by host role, reconciling on every push to main.

  • dotfiles
  • ci-cd
  • github-actions

The Pipeline Is the Review

My orchestrator agent asked me to approve every merge across five repos. I was the bottleneck. So I let it merge on its own — and moved my eyes to the outcome.

  • agents
  • ci
  • code-review

'Go All the Way' Does Not Mean Merge

My coding agent merged a production PR nobody approved, then blamed a setting that didn't exist. Here's the boundary I wrote so it can't happen again.

  • agents
  • claude-code
  • devflow

The Daemon Was Running. The Socket Wasn't There.

A per-user systemd service can be perfectly alive and still invisible to its clients — because the directory its socket lives in only exists while you're logged in.

  • systemd
  • linux
  • ai-agents

scutil --dns Lied to Me

A Mac mini in my agent fleet could ping the world but couldn't resolve github.com. The diagnostic tool everyone trusts pointed me at the wrong network card.

  • macos
  • dns
  • networking

Put the dumb checks in the blocking path

My AI code reviewer was approving things it shouldn't and nagging about things it shouldn't. The fix was to stop trusting it for the part a regex could do.

  • code-review
  • ci
  • ai-agents

My Merge Gate Counted Comments Instead of Asking GitHub

An automated merge gate let a MAJOR code-review finding through because it trusted proxy signals instead of querying the actual thread state.

  • ai-devflow
  • code-review
  • github

Don't Send Your Agents on a Scavenger Hunt

My orchestrator was dispatching coding agents with GitHub issues that said 'go find the X handler' — and I realized I was making them redo work I should have done myself.

  • agents
  • orchestration
  • claude-code

My lint rule caught its own test fixture

I wrote a guardrail to ban hardcoded config arrays, and the first thing it flagged was the bad example I'd written to test it. The rule was right. My file layout was wrong.

  • linting
  • guardrails
  • testing

Reconcile-or-Refuse: How to Trust a Number an AI Pulled Out of a Bank Statement

The white paper. Six OCR models, and not one won across bank-statement layouts. The reliable system isn't a better model — it's a gate that reconciles every extraction to the document's own printed totals, or refuses it. Plus the surprise: two complementary models beat the whole zoo.

  • ai
  • ocr
  • finance

The Rescuer Couldn't See the Lifeline

My Claude Code rescue daemon kept its own hardcoded account list, so it went blind to the one healthy seat exactly when three others got rate-limited.

  • claude-code
  • rate-limits
  • failover

Silence Is Not Approval

My merge gate waited for CodeRabbit to say something. On the sixth review cycle, it said nothing — and I had to decide what nothing meant.

  • ai-agents
  • code-review
  • automation

My Resume Hook Came Back Alive and Froze on the First Question

I killed my whole tmux server to test crash recovery for a fleet of Claude Code agents. The processes came back. Every one of them got stuck on a menu nobody was there to answer.

  • claude-code
  • tmux
  • agents

Agents Reason on Whatever State Exists When They Look

My AI agents kept declaring PRs done before CodeRabbit had even finished reviewing them. The fix wasn't a smarter prompt — it was a blocking wait.

  • ai-agents
  • claude-code
  • ci-cd

My Agent Said It Was Blocked. It Had the Keys the Whole Time.

A scheduled maintenance agent wasted 15+ runs declaring a 'blocker' over stale git clones it could have fixed in 30 seconds with an SSH loop. Here's why, and the rule I added so it never happens again.

  • agents
  • automation
  • claude-code

Never Run git checkout in a Loop's Working Directory

My autoresearch loop read HEAD every iteration to decide where to commit. Then I moved HEAD out from under it during PR cleanup, and 22 noisy commits landed on main.

  • git
  • agents
  • automation

A Comment Count Is Not a Merge Verdict

How a PR merged past two unresolved CodeRabbit MAJOR threads because I trusted the wrong GitHub API — and the GraphQL query that fixed it.

  • github
  • ai-agents
  • code-review

I Said My Bank-Statement Parser Was 100% Accurate. I Was Grading It Against Itself.

Last month I published that a 51-line parser read bank statements perfectly. Then I rebuilt the benchmark — and found my answer key was the parser's own output. Fixing that, I found two more broken answer keys. Three times the ground truth lost to the model. Here's what that taught me about trusting anything with money.

  • ai
  • ocr
  • finance

I Benchmarked Three OCR Models on Real Bank Statements. The Best One Flipped With the Layout.

Part two of the bank-statement series: the clean scoreboard. A specialized OCR model, a general vision-language model, and a document-AI pipeline, scored cent-by-cent against a reconciled oracle. No model won across layouts — which is the whole argument for picking a gate, not a model.

  • ai
  • ocr
  • finance

The Loop Is Not Allowed to Decide It's Done

One of my orchestration agents went quiet for six hours because it confused 'stand down on this one watch' with 'stop scanning everything.' The fix was a hard rule about who gets to end a loop.

  • agents
  • orchestration
  • claude-code

Green CI Is Necessary, Not Sufficient

Why I make my Claude Code agent wait for CodeRabbit to re-review the new commit before merging — even when every check is green.

  • agents
  • code-review
  • ci

'Say the Word and I'll Run It' Was the Tell

A one-line approval rule meant to stop bad emails turned my AI agent into a clerk who needed permission to write a note to itself.

  • AI agents
  • Claude Code
  • permissions

An Old Timestamp on Identical Content Is Health, Not Staleness

My tmux-resurrect backstop screamed 'recovery at risk' every two minutes on boxes that were perfectly fine — because it judged the snapshot's age instead of whether the save actually worked.

  • tmux
  • monitoring
  • watchdogs

The Boss Agent's Context Window Is the Most Expensive Thing in the Fleet

I kept running the SSH probes myself because it was easy for me. That was exactly the problem — the coordinator's job is WHO, never HOW.

  • multi-agent
  • claude-code
  • orchestration

My Fleet Boss Asked Permission for a Chore

A supervisor agent flagged 22 rate-limited Claude Code panes as a decision for me to approve. But recovery isn't a judgment call — and that's the line worth drawing.

  • claude-code
  • agents
  • automation

A Credential Clobber Looks Exactly Like a Rate Limit

My account switcher wrote tokens blindly, so saving one agent's credentials silently overwrote another's — and the fleet sync would have copied the duplicate to everyone. The fix was hash-based identity checks before the write.

  • claude-code
  • credentials
  • automation

A 51-Line Parser Beat a 3-Billion-Parameter Model at Reading Bank Statements

Baidu's Unlimited-OCR dropped on a Monday. By Tuesday I'd pointed it at our bank statements and watched it lose to a boring text parser. The honest A/B — and the rule it taught me: reconcile-or-refuse.

  • ai
  • ocr
  • finance

My Agent Talked to a Wall for 55 Ticks

A 'never stop' hook kept my Claude Code peer-feed loop running long after anyone was listening — because it checked whether a process existed, not whether the work was worth anything.

  • agents
  • claude-code
  • orchestration

Green Didn't Mean Seeing: The Night My Rescue Daemons Watched Nothing

A linuxbrew-vs-/usr/bin tmux mismatch made my rescue daemons scan zero seats all night while reporting LIVE. Process-alive is not the same as sees-the-work.

  • tmux
  • systemd
  • daemons

'Threads Resolved' Is Not 'The Fix Is In the Code'

How my auto-merge shipped a buggy appointment picker because resolving review threads raced the commit that actually fixed it.

  • ci
  • automation
  • agents

Make Your AI Reviewer Argue With Itself

CODY surfaced confident, wrong findings until I gave every one of them to a skeptic from a different vendor whose only job was to tear it down.

  • AI
  • code-review
  • agents

CODY Has to Prove Itself Wrong First

My AI code reviewer kept surfacing confident, plausible, wrong findings. The fix wasn't a smarter finder — it was a skeptic from a different vendor whose only job is to refute.

  • AI
  • code review
  • agents

Outdated Means The Lines Moved, Not That You Fixed It

My merge gate said '0 unresolved threads, ready to ship.' GitHub said BLOCKED. GitHub was right, and the bug was in my own filter.

  • agents
  • code-review
  • github

My tmux-resurrect Snapshot Lied, So I Rebuilt the Claude Fleet From jsonl mtimes

After my tmux server got killed, the backup tool I trusted was days stale. The session log files themselves held the exact fleet roster.

  • claude-code
  • tmux
  • agents

My Passing Tests Encoded the Fail-Open Bug as Correct Behavior

Author-written tests validate the author's mental model. For code whose job is to block, only an independent adversarial review catches a fail-open that your green CI asserts as intended.

  • testing
  • security
  • code-review

My macOS Agent Workers Went Dark Until I Moved Them From LaunchAgent to LaunchDaemon

On macOS 15.7+, Local Network Privacy silently blocks user-space LAN connections. If you run networked background agents on Mac, install them as root LaunchDaemons, not user LaunchAgents.

  • macOS
  • launchd
  • agents

Byte-Slicing a Claude Agent's Context Payload Poisoned Every Retry

When compacting agent conversation context to fit a model token budget, a raw byte slice produced broken JSON that got stored and re-sent forever. Parse, shrink string leaves, re-serialize.

  • claude-code
  • agentic-ai
  • ai-agents

My Agent-to-Agent Message Ledger Came Back Out of Order — Clock Skew Was the Bug

I run a fleet of Claude Code agents that coordinate through an append-only message ledger. Ordering it by timestamp quietly broke whenever a machine clock stepped backward. The fix: order by row ID.

  • claude-code
  • agentic-ai
  • ai-agents

My Claude Code Balancer Was Rotating Accounts When It Should Have Waited 30 Seconds

A 402 from the Anthropic API can mean two opposite things: out of credits (rotate) or rate-limited (back off). I was rotating. The body is where the difference lives.

  • claude-code
  • agentic-ai
  • ai-agents

My Claude Code Rescue Daemon Was Running on the Accounts It Rescued

I run a fleet of AI coding agents across several accounts. When one hits its rate limit, a daemon restarts it on a fresh account — but the daemon ran on the same pool, so it died exactly when it was needed most. The fix, and the general rule.

  • claude-code
  • agentic-ai
  • ai-agents

Continuous Deployment, Not Freeze

After a bad deploy reached production, we froze the pipeline. It felt responsible. Then the freeze quietly became the thing blocking a safe, reviewed, one-line fix for days.

  • engineering
  • deployment
  • sre

Examples Are the Spine, Not the Rulebook

I tried to teach an AI to write in my voice with a list of rules. It produced text that obeyed every rule and sounded nothing like me. The fix was to throw the rules out.

  • ai
  • prompting
  • llm

Finish, Don't Stage: What I Want From an Agent on the Night Shift

I handed an agent a clear mandate and went to sleep for eight hours. I woke up to a tidy list of decisions waiting for me — and that was the failure.

  • ai
  • agents
  • autonomy

Green on Mocks Is Not Done

Every layer of the build said done. Tests passed. Mutation-proven. Reviewed sound. Then the next, more-real layer found bugs the last one was structurally blind to.

  • ai
  • agents
  • engineering

I Cloned My Own Voice for My Website

The intro video had a voiceover. It was articulate, warm, and completely not me. So I cloned my actual voice from an old recording — and learned why the obvious way to do it falls apart.

  • ai
  • tts
  • voice

Visibility Is Not Theater

I was shipping a steady stream of status updates and dashboards. Everything looked busy. Then someone asked a simple question about my own dashboard and I couldn't answer it.

  • engineering
  • management
  • agents

I Built a Load Balancer for My Claude Code Subscriptions

I hit my Claude Code rate limit three times last Tuesday. Each time, I had to stop what I was doing, log out, log into a different subscription, and pick up where I left off. The context was gone. The

  • claude-code
  • open-source
  • developer-tools

Git Worktrees Ate My Edits — Why We Switched to Dedicated Machines for Agent Isolation

I was in the middle of a refactor — removing dead code from a shared SDK module — when my edits vanished. No error. No warning. Just gone.

  • ai
  • agents
  • git

Building on Giants: How Daniel Miessler's PAI Became My Foundation

I'd been building my AI infrastructure for months before I found a name for it. I had a CLAUDE.md with operating modes, a folder of skills, a deploy script that pushed everything to multiple machines.

  • claude-code
  • ai
  • pai

Skills Are Just the Beginning: The 4-Layer Agent Stack

I kept writing skills. New skill for code review. New skill for deployment. New skill for browser automation. Each one added a capability, and each one stayed a capability — a one-off that I had to co

  • claude-code
  • ai
  • skills

Version-Controlling Your AI's Brain

I had four machines. My AI assistant behaved differently on each one.

  • ai
  • developer-tools
  • claude-code

PAI: The Operating System I Built Around My AI Assistant

The first real sign I had a system rather than a workflow was when I noticed the assistant failing gracefully.

  • ai
  • developer-tools
  • claude-code

Your CLAUDE.md Is Probably Making Your Agent Worse

I had a 2,000-word CLAUDE.md in one of my repos. It covered architecture, directory structure, coding conventions, style rules — the works. Every time I ran Claude Code or Codex against the codebase,

  • ai
  • developer-tools
  • context-engineering

Agentic Engineering, Part 1: Building Skills That Ship Code for You

Three months ago, I was letting my AI agent write code directly on the production server. No branches, no CI, no tests between "idea" and "live in production." If the agent broke something at 2 AM, th

  • agentic-engineering
  • claude-code
  • ci-cd

Agentic Engineering, Part 2: Adversarial Code Review That Loops Until Clean

Unit tests tell you if the code you wrote works. They don't tell you about the code you forgot to write. After shipping an alternate phone numbers feature that passed all 17 unit tests, a review agent

  • agentic-engineering
  • claude-code
  • code-review

Agentic Engineering, Part 3: Tracing Every Code Path Before It Becomes a Bug

BugBot finds bugs in code that's already written. But what about the bugs that exist because the architecture is wrong — where the code does exactly what it says, but "what it says" is inconsistent ac

  • agentic-engineering
  • claude-code
  • architecture

Agentic Engineering, Part 4: Nine Skills That Replaced My Dev Process

Over the past three posts, I've covered the individual pieces: DevFlow for CI/CD enforcement, BugBot for adversarial review, and ArchReview for architectural tracing. But skills don't live in isolatio

  • agentic-engineering
  • claude-code
  • devops

I Built a Bug-Hunting Loop That Doesn't Quit: The BugBot Methodology

Every code review I've ever done was a single pass. You open the diff, read through it, maybe catch a few things, leave some comments, approve. The problem is bugs don't care about your review flow. T

  • ai-agents
  • code-review
  • debugging

Why the Same Code Looks Different From Every Angle: BugBot Lessons Learned

After running BugBot across several real codebases, the result that surprised me most wasn't the bugs it found. It was which iteration found them. The same files, reviewed from a different angle in a

  • ai-agents
  • code-review
  • debugging

Implementing the GCC Paper: Giving AI Agents Persistent, Structured Memory

I run AI coding agents across multiple machines, multiple sessions, sometimes for days at a time. The biggest frustration isn't capability — it's amnesia. Every new session starts from zero. The agent

  • ai-agents
  • memory
  • claude-code

Two Healthcare Sites, 400 Lighthouse Points, and the Lessons That Got Us There

When I checked our mobile Lighthouse scores last month, both of our clinic websites — arcs.health and covenant.clinic — were in rough shape. Not broken, but mediocre. The kind of scores that quietly c

  • web-performance
  • healthcare
  • lighthouse

Debugging a Ghost in the Machine: Session Isolation for Claude Code Plugins

I run multiple Claude Code sessions in the same project all the time. One session handles a long-running task via a Ralph Wiggum loop (a self-referential iteration technique), while I open another ses

  • claude-code
  • ai-tooling
  • hooks

Field-Level Ensemble OCR: Getting 74.8% Accuracy from Two Mediocre Vision Models

I've been running OCR on insurance cards at our urgent care clinics for a few months now. Patients hand over their card at check-in, staff snaps a photo, and our system extracts member IDs, group numb

  • ai
  • healthcare
  • ocr

Patching Synology Active Backup for Linux to Run on Kernel 6.17

Synology Active Backup for Business is one of the best self-hosted backup solutions out there — agent-based, centralized, bare-metal restore capable. There's just one problem: the Linux agent only off

  • linux
  • kernel
  • synology

From 5.6% to 62.3% Accuracy: Building a Self-Hosted Insurance Card OCR Service

Insurance card data entry is one of the most tedious bottlenecks in patient onboarding. Commercial OCR services charge per page and require sending patient data to third-party servers. I wanted to see

  • ai
  • healthcare
  • python

Two AI Trends Transforming Urgent Care in 2026

Urgent care operates in a constant state of tension. Providers spend more time documenting visits than examining patients. Front desk staff juggle phone calls, check-ins, and insurance verification wh

  • healthcare
  • ai
  • urgent-care

The Burden of Being: Why Responsibility Might Be the Antidote to Modern Nihilism

When someone asks you what makes life meaningful, the reflexive answer is usually something about happiness, fulfillment, or pleasure. But Jordan Peterson argues we're asking the wrong question. The b

  • Philosophy
  • Jordan Peterson
  • Existentialism

The 4-Line Architecture That Beat Complex AI Frameworks

Claude Code's entire architecture is fundamentally just one while loop. Not as a simplification—literally. While competitors build orchestration frameworks with task queues, agent hierarchies, and com

  • AI
  • Software Engineering
  • Architecture

Building an AI Patient Chatbot for Urgent Care with n8n, GPT-4, and Langfuse

When patients call or message an urgent care clinic, they're usually asking the same questions: "What are your hours?" "Do you take my insurance?" "How long is the wait right now?" These repetitive in

  • ai
  • healthcare
  • n8n

The Delayed Prescription Strategy: How to Reduce Antibiotic Use 62% While Maintaining Patient Satisfaction

Every urgent care provider knows the pressure. A parent brings in a child with an ear infection. The exam is ambiguous — it could be viral, could be bacterial. You know antibiotics probably won't help

  • healthcare
  • urgent-care
  • clinical-operations

Why Urgent Care Centers Are Ditching Walk-In-Only: The Hybrid Scheduling Revolution

The urgent care industry is undergoing a quiet revolution in how patients are seen. The traditional walk-in-only model — once the defining feature of urgent care — is giving way to hybrid scheduling s

  • healthcare
  • operations
  • urgent-care

Machiavelli Was Right: 8 Strategic Principles Every Leader Should Understand

Niccolo Machiavelli has been misunderstood for 500 years. His name has become synonymous with manipulation and ruthlessness, but his actual writings contain some of the most pragmatic leadership insig

  • philosophy
  • leadership
  • operations

How I Built a $2,300/Year RAG System That Rivals $40K OpenAI Solutions

In October 2025, I deployed a production RAG system that would have cost $39,600 annually using OpenAI's APIs. My actual cost? $2,300 per year. That's 94% cost savings while maintaining comparable per

  • ai
  • llm
  • rag

What Peterson's Genesis Lectures Teach About Sacrifice: Why Abraham Waited 100 Years

The story of Abraham waiting 100 years for a son, only to be asked to sacrifice him, seems absurd on its face. Why would ancient cultures preserve such a psychologically brutal narrative? Dr. Jordan P

  • philosophy
  • psychology
  • meaning

The 6-Task System: How I Manage Knowledge Work with PARA + Ivy Lee Method

The best productivity system is the one you'll actually use. After years of experimenting with todo apps, kanban boards, and elaborate task managers, I found something that works: a hybrid of Tiago Fo

  • productivity
  • knowledge-management
  • personal-systems

Why Terminal Multiplexers Are an Anti-Pattern: Lessons from Kitty's Creator

If you're a developer, you probably use tmux or screen. You might even consider it essential infrastructure. But according to Kovid Goyal, creator of the Kitty terminal emulator, terminal multiplexers

  • developer-tools
  • architecture
  • performance-optimization

The Three Levels of Why: Why Surface Motivation Fails and How to Find Your Primal Drive

Every January, millions of people set ambitious goals. By February, 80% have abandoned them. The conventional wisdom blames willpower, discipline, or commitment. But the real problem runs deeper: most

  • psychology
  • motivation
  • entrepreneurship

The Universal Algorithm: How One Framework Scales from Bug Fixes to Building Companies

What if one algorithm could handle everything—from fixing a typo to architecting a distributed system to building an entire company? Not a vague philosophy, but a precise, verifiable framework with me

  • ai
  • architecture
  • algorithms

Building Tools to Fix Real Problems: A Patient Insurance Education App

I got a 4-star Google review last week that bothered me more than it should have.

  • healthcare
  • operations
  • tools

Building an Enterprise RAG System with Local SLMs: My Journey with Phi-4 and LightRAG

After spending months helping enterprises build AI systems, I noticed a pattern: everyone wanted powerful RAG capabilities, but few were comfortable shipping their proprietary data to external APIs. T

  • ai
  • llm
  • rag

Building an AI Analysis Agent in Hours - A No-Code Approach with Lovable and N8N

I used to spend 6+ hours writing Analysis of Alternatives reports. Last week, I built an AI agent that does it in minutes - and you can too, without writing complex code.

  • ai
  • no-code
  • lovable

Supporting SSE for Model Context Protocol (MCP) in Python - Introducing fastapi-mcp-client

I've been working on a project to support SSE for MCP. Couldn't find any good example on the client in Python for supporting SSE with FastAPI MCP. So I wrote it up myself and thought I will share ever

  • python
  • sse
  • fastapi

Architecting Extensible AI Agents - A Modular Core with Pluggable Skills and SSE Communication

Learn how to architect AI agent systems with a modular, skill-based approach and implement real-time communication using Server-Sent Events (SSE).

  • ai-agents
  • microservices
  • sse

Building Reliable AI Agents - Implementing Advanced Evaluation with Azure AI SDK and Custom APIM Integration

Learn how to implement robust evaluation for AI agents using Azure AI Evaluation SDK when working with Azure API Management (APIM), overcoming authentication and integration challenges.

  • azure
  • openai
  • evaluation

Porting GPTResearcher to Semantic Kernel - Building an Enterprise-Ready Research Agent

Learn how to transform an open-source AI research agent into an enterprise-ready solution using Microsoft's Semantic Kernel framework with Azure OpenAI.

  • semantic-kernel
  • azure-openai
  • ai-agents

Accelerating Document Intelligence - A Deep Dive into GPU-Powered RAG Processing

Learn how to leverage GPU acceleration to significantly improve document processing speed in Retrieval-Augmented Generation (RAG) systems.

  • rag
  • gpu-acceleration
  • document-processing

Building an Enterprise-Grade RAG System - A Deep Dive into Advanced Document Intelligence

This blog post details the technical architecture and innovations that make this system particularly effective for enterprise use cases.

  • rag
  • ai
  • document-intelligence

Defining PII Masking Policies with AWS Bedrock Guardrails

- Amazon Bedrock Guardrails are a robust feature within the Amazon Bedrock service designed to enhance the safety, compliance, and overall quality of interactions with AI models. Guardrails provide a

  • aws
  • bedrock
  • guardrails

Fine-Tuning Microsoft Phi-2 for Sentiment Analysis - A Step-by-Step Guide

Microsoft Phi-2 Fine Tuning - Learn how to adapt this powerful small language model for sentiment analysis of employee performance data using LoRA and quantization.

  • llm
  • fine-tuning
  • sentiment-analysis

Optimizing Apache Spark Performance for Skewed Data - Advanced Techniques and Case Study

Learn advanced techniques to tackle the performance challenges of processing skewed data distributions in Apache Spark, backed by a real-world case study with 5x performance improvement.

  • apache-spark
  • big-data
  • performance-optimization

Sentiment Analysis - Comparing Azure, AWS, and Custom Fine-Tuned Models

A comprehensive comparison of sentiment analysis capabilities across Azure Cognitive Text Analytics, AWS Comprehend, and custom fine-tuned models like RoBERTa and Phi2.

  • sentiment-analysis
  • azure
  • aws