top of page


Third time's a charm: Building a Daily Chief-of-Staff Brief with Codex, Telegram, and Scheduled Automation
Executive Summary In this mini-project, I rebuilt a personal “Daily Brief” system that sends me a Chief-of-Staff-style summary each morning through Telegram. This was my third attempt at this idea. The first version, built with OpenClaw, took roughly 40 hours and ultimately proved too brittle. The second version, built with Claude Code, took closer to 15 hours but still did not become the stable, enduring system I wanted. This Codex-based build took about two hours and result
Ken Munson
4 days ago2 min read


Building a Simple Streamlit AI Chatbot with OpenRouter Auto-Routing
Executive Summary In this mini-project, I built a small Streamlit-based AI assistant (an AI Chat Bot) and integrated it with OpenRouter so the application could dynamically route prompts across many large language models. The app itself is intentionally simple: A local Streamlit web interface A text input box for prompts An OpenRouter-backed model call A cost/quality slider (to indicate what kind of model OpenRouter should choose) Copy buttons for both the user question and m
Ken Munson
Jun 76 min read


Let's see about this Claude Code. Installing and writing a chores app
Building a Personal Chore Planner with Claude Code, Python, and a Little SQLite Education. Sometimes the best projects start with the simplest frustrations. I wanted a better way to track chores - not a generic to-do app, not a complicated project management tool, but something that looked like a real calendar and understood the rhythms of recurring tasks. But even more than that, I wanted to give this Claude Code thing a try after hearing so much hype around it. In about a
Ken Munson
Apr 174 min read


Building a WhatsApp Daily Briefing Agent (OpenClaw) - Lessons From the Trenches -- Updated 4/18/2026
4/18/26 Update: Don't do it! It can be a useful personal assistant IF YOU NEED A USEFUL PERSONAL ASSISTANT! But it is a TON of work to configure and keep working and get all the bugs out. It is 10 times more work to set OpenClaw up securely than it is to just set it up and run it. If you are not confident you can set it up securely, then wait for a new agentic assistant system that is secure by default. I kept fixing things because every time something stopped working,
Ken Munson
Mar 315 min read


Turning My Personal OneNote Into a Searchable RAG System
Until recently, I had been curious about RAG systems in the abstract. I understood the basic promise: take a body of documents, convert them into embeddings, store them in a vector index, and then retrieve the most relevant pieces when a question comes in. But that was still fairly theoretical to me. About 2 months ago, I did my first RAG project which is in a prior post on this site. But lately, something came to me: what if I could load my own OneNote into a RAG type sys
Ken Munson
Mar 227 min read


Threat Modeling an Agentic AI System - OpenClaw: A Practical Walkthrough
Introduction Full disclosure: I wrote an introduction paragraph and ran it through ChatGPT - this is the combination of my original paragraph and some cleaned up verbiage by ChatGPT. Introduction: Traditional software systems are built on a predictable model: developers write code that processes input and produces output according to predefined logic. Security architecture for these systems focuses on protecting that deterministic behavior from manipulation. Agentic AI syste
Ken Munson
Mar 85 min read


Taming OpenClaw (not easy)
Hardening an Autonomous Agent Runtime: Installing and Governing OpenClaw on a VPS From Installation to Governance: Turning an Agent Runtime into a Controlled System Executive Summary In this project, I deployed OpenClaw , an autonomous agent runtime, on a hardened VPS environment and layered execution governance controls around it. The goal was not simply to “run an agent,” but to: Understand how tool execution works at the OS level Validate container namespace isolation Sepa
Ken Munson
Mar 24 min read


MCP addition to RAG workflow project
From RAG to MCP: Turning a Document Search System into a Composable AI Capability. Executive Summary In this project, I extended an earlier Retrieval-Augmented Generation (RAG) system into a fully operational MCP (Model Context Protocol) server , exposing document search as a standardized, inspectable AI capability. The result was not just a working tool — it was a deeper understanding of modern AI architecture: separating model reasoning from orchestration, retrieval, and ex
Ken Munson
Mar 23 min read


Agentic AI project using n8n.io
I'm going to be lazy and just slap you-know-who's summary of the work I (we) did together on this project here. I learned a lot and am going to take a stab at doing something more complicated next - and do it "from scratch" in Python as opposed to using n8n. Here is a quick summary: This workflow implements an agentic pattern in n8n. A Webhook node receives a POST request containing a user_query. The Edit Fields node normalizes this into a consistent user_query field. An LLM
Ken Munson
Dec 8, 20256 min read


RAG workflow project
Here’s a summary (with a little bit of detail) of the full Load → Chunk → Embed → Save to FAISS → Reload → Query workflow I built. For full disclosure, I worked with ChatGPT on a lot of this, especially the Python. I understand Python, and can troubleshoot the code fairly well, but writing all this code from scratch would take me a long time . Because I had to spend a lot of time troubleshooting a Chroma ( Chroma is an open-source vector database for AI applications) on Win
Ken Munson
Nov 15, 20254 min read


My first API call to Google Gemini 2.0
With the seemingly unstoppable momentum that AI has here in early 2025, I decided to go beyond relying on just OpenAI's o1 model for all my questions (physics, math, et al.). Over time, I hope to become proficient with Google Cloud and all the tools they offer like Vertex AI. To jump start that and make it interesting, I refreshed my GCP account (fixed the billing), and found a tutorial on GCP about attaching to Googles API's for the Gemini 2.0 LLM. So, that is what I did.
Ken Munson
Feb 9, 20255 min read
bottom of page