The first real run of a prompt feedback loop21 October 2026
The weekly loop that learns translation prompt rules from corrections ran on real data for the first time. A bare word swap made gpt-oss-120b invent a useless grammar rule that still passed the test; with a few words of context the re-run proposed the right rules, and they were merged.
Implementing a prompt feedback loop with human approval18 October 2026
People correct AI translations before they publish them. A weekly job counts those corrections, lets gpt-oss-120b propose prompt rules within a fence, filters and tests them in plain code, and opens a pull request instead of changing the prompt itself. In a dry run the test rejected a sensible-sounding rule and passed another.
Translating website texts on Workers AI: four models, one weekday trap18 October 2026
I compared four Workers AI models for translating website texts from Brazilian Portuguese into Argentine Spanish and English. One model shifted the opening days by one day, the dedicated translation model hallucinated, and a better prompt plus a deterministic check made Mistral Small reliable: 120 of 120 translations passed.
A gated RAG assistant on Cloudflare Workers6 October 2026
A RAG chat assistant fully on Cloudflare (Workers AI, Vectorize, a Durable Object) where the contact offer has to be earned: the model only reports a judgment, code decides.
AI assisted development30 September 2026
AI helped me build a SignalR update that was broadcast to every connected client instead of just the relevant one. The first fix it suggested, filtering in React, was cosmetic. The real fix was one line in the backend.
End to end automation of site deployment with Claude27 September 2026
Automating website deployment with AI: I tell Claude which site to add or update and what to change, and everything after that is automatic, except my review of the pull request. Claude gets no Cloudflare credentials; it prepares one PR with config, custom domain and images, and GitHub Actions and Cloudflare Workers Builds deploy it after the merge.
Building an AI chat assistant for my site, part 10: giving it a face19 September 2026
Replacing the default AI assistant image with my own avatar: training a Higgsfield Soul ID that stubbornly refused to stylize, switching tools to get a real cartoon render, and generating a small set of consistent poses for a crossfade idle animation instead of a video loop.
Building an AI chat assistant for my site, part 913 September 2026
Cache invalidation closes the loop from part 8's stale-cache workaround, proven live with a real hit-then-edit-then-miss test. Plus a small backend bug (an unprompted greeting mid-conversation) and a run of real mobile layout bugs on the widget interface.
Building an AI chat assistant for my site, part 813 September 2026
The chat widget goes live, and real use immediately surfaces a language rule the model ignored, a cross-partition retrieval sort bug that had been silently serving the worst-matching content since launch, a citation leak, and the stale-cache gotcha that makes the next part necessary.
Building an AI chat assistant for my site, part 713 September 2026
Securing the assistant Worker before it gets a public widget: per-IP rate limiting, wiring in a Turnstile check the site can't pass yet, a conversation-logging heuristic that turned out not to be a security boundary, and an older language-handling bug caught along the way.
Building an AI chat assistant for my site, part 613 September 2026
Backfilling the knowledge store for real: embedding all 93 blog articles, authoring personal and professional facts through an interview process (and catching a real factual error along the way), and refining the assistant's conversational manners for small talk, farewells, and off-topic questions.
Building an AI chat assistant for my site, part 512 September 2026
Building the assistant Worker itself: a public-facing least-privilege Cosmos role, querying a vector database with no SDK available, a generation model that turned out to already be deprecated, and a live test that correctly answered a Dutch question from English source content.
Building an AI chat assistant for my site, part 412 September 2026
Embedding real articles into the vector store: a silent Ollama context-window truncation bug, and real before/after evidence that paragraph-level chunking dramatically outperforms whole-article embeddings.
Building an AI chat assistant for my site, part 312 September 2026
Provisioning the Cosmos DB vector store: an immutable container policy, a database-level shared-throughput restriction that took three failed deployments to diagnose, and a missing executeQuery permission found only once a real query was attempted.
Building an AI chat assistant for my site, part 212 September 2026
Testing whether an embedding model run locally through Ollama produces the same vectors as the same model hosted on Cloudflare Workers AI, the result that decides whether this project's local-authoring/cloud-serving split actually works.
Building an AI chat assistant for my site, part 112 September 2026
Kicking off a new project and blog series: a RAG-based AI chat assistant that answers visitor questions about me, reusing the Cosmos DB + Cloudflare stack already running this blog.
AKS Capacity Advisor extended with webhook support10 August 2026
A milestone for the V2 Capacity Advisor: real Azure Monitor alerts now flow through a webhook into AKS, get historical context from Table Storage, and come out the other side as LLM-generated, operator-friendly capacity recommendations.
Turning holiday time into a live AI demo!22 July 2026
Building a live Capacity Advisor demo over the holidays: an agent that collects Azure Container Apps metrics and asks a Cloudflare Llama model whether the configured resources are actually sufficient, with a real-time SignalR log stream.
Multi agent Hangman game demo now live on my site!1 June 2026
The original Hangman demo launch: two Cloudflare Qwen2.5 LLM agents playing against each other, containerized on Azure Container Apps, served by a Cloudflare Worker, with real-time output over SignalR — evolved from an earlier AI-102 console practice project.
Disappointing first test with Foundry Local on Intel GPU29 April 2026
Foundry Local reaching GA raised hopes for a real Ollama replacement on Intel GPU — but both tested OpenVINO models hard-capped responses at 199 tokens regardless of the configured max_tokens, a blocker for agentic coding workflows like Aider.
Local LLM Coding Agent: Aider + Ollama on Windows (No Cloud, No Token Limit, Full Privacy)21 March 2026
A streamlined Windows setup for running Aider + Ollama fully locally on an Intel GPU: zero cloud dependency, unlimited context, and a qwen2.5-coder:14b model that handles .NET refactors, new endpoints, and unit tests as a genuine local pair programmer.
Exam Project Agentic Patterns: Why I Suppressed ReAct & Reflection28 January 2026
Emergent ReAct and Reflection behavior showed up unprompted in a turn-based LLM Hangman game, and deliberately suppressing both (via a strict single-action prompt line) is what actually made the game playable — a look at agentic patterns through ByteByteGo's five-pattern framework.
After a full year of heavy prompting across ChatGPT, Copilot, Grok, Gemini… one thing still consistently trips up in every model: evenly distributing correct answers in multiple-choice questions across A, B, C, D.25 January 2026
A year of noticing the same LLM quirk across ChatGPT, Copilot, Grok, and Gemini: multiple-choice answers skew hard toward B, with C and D almost never chosen, no matter how explicitly you ask for an even A/B/C/D distribution.
I thought I was ready for the AI-102 exam after my Semantic Kernel project.18 January 2026
Migrating the Hangman game from classic Semantic Kernel to Microsoft's new Agent Framework in ~3 hours: why AutoGen is being phased out, and the honest recommendation for where to invest depending on where you're starting from (AutoGen, older SK, or fresh).
My multi Agent Hangman game is working now, check out my article!17 January 2026
The full write-up (and code) for the Semantic Kernel multi-agent Hangman game, promised as a follow-up to the earlier 'finally got it working' milestone post.
Finally got my multi agent Hangman game with Semantic Kernel working!15 January 2026
The first real working milestone for the Semantic Kernel Hangman game: switching to a bigger qwen2.5:32b-instruct model via IPEX-LLM Ollama and simplifying down to 2 agents (no host agent) finally got a full game to completion.
Quick follow-up on the Semantic Kernel practice project I mentioned in my last post. I thought it would be cool to let the agents play a hangman game.9 January 2026
Three small local models (llama3.2:3b, phi4-mini, qwen2.5:7b) and a host agent structure for the Hangman game — writing the game logic was easy, getting agents to reliably call functions and use tool output instead of hallucinating turned out to be the real challenge.
What do you do on a rainy holiday? Dive deeper into Azure AI!6 January 2026
A study day untangling Semantic Kernel, Azure AI Foundry orchestration, and AutoGen for AI-102: SK for prototyping and simple setups, Azure AI Foundry for enterprise-scale governed multi-agent systems — and the bot-vs-agent distinction that ties it together.
Chatting with AI to get SignalR implementation working...23 December 2025
A real back-and-forth with an AI chat while designing a SignalR notification path from an internal microservice to a React frontend — and how a direct-push shortcut got walked back to the more secure 'portal backend as SignalR gateway' pattern the plan already had.
How I use AI chat to prepare for Azure exams (with prompt engineering)21 December 2025
Realizing that everyday exam-prep habits already were prompt engineering: a four-step Azure exam strategy built around priming, format/quantity constraints, and length limits to get sharper, more useful answers out of AI chat tools.