Stale Contacts Cleaner on the App Store

Qui Non Proficit Deficit: Three Months Offline, Two Apps Shipped, and an AI That Runs a Nonprofit

TL;DR I went heads down for about three months — no LinkedIn, no YouTube, barely any Twitter. In that time I shipped two iOS apps to the App Store, built an autonomous AI assistant that runs a nonprofit’s entire digital presence 24/7, and developed a workflow where AI agents scale my output 3-5x. This post is the full story: the career pattern that taught me to recognize seismic shifts, what I actually built, and why I’m back. ...

March 7, 2026 · 12 min · Fabian Williams

Agent + Local Model + Evals — One‑Pager

🚀 Purpose If you’ve ever wondered how to compare a locally‑hosted LLM with a hosted OpenAI model side‑by‑side, while keeping the whole experiment observable from end‑to‑end, you’re in the right place. This one‑pager walks you through the starter repo that stitches together three distinct paths: Path Stack Observability A .NET 8 + Semantic Kernel + Ollama (local model) Azure Monitor (OTEL) B OpenAI Agents SDK (TypeScript/Node) OpenAI Logs → optional OTLP → Azure Monitor C Python Evals (OpenAI‑provided) Same prompts, same metrics The goal? A clean, reproducible harness that lets you run the same prompt against a local model and an OpenAI model, invoke tools, and then score the outputs with a single Python‑based eval suite. All of this is fully instrumented with OpenTelemetry, so you can follow the request flow from the client code right into Azure Application Insights (or any OTEL backend you prefer). ...

August 10, 2025 · 5 min · Fabian Williams
NLWeb plugin trace debug window

Debugging GenAI with NLWeb and OpenTelemetry: A Real-Time Visibility Win

🧠 Debugging GenAI with NLWeb and OpenTelemetry: A Real-Time Visibility Win “If you can’t see it, you can’t debug it.” That’s been the challenge with GenAI and Copilot-style plugins — until now. 🎯 Goal I wanted to trace and troubleshoot my Copilot agent plugin activity using OpenTelemetry. The stretch goal? Pipe that into a natural-language search experience using NLWeb, so I could ask questions like: “What plugins were used?” “What calls failed?” “How long did token generation take?” ✅ As of today — we did it. Here’s how. ...

May 21, 2025 · 4 min · Fabian Williams