About

Principal Architect for Cloud AI at GE Aerospace. Twenty-plus years in, still building things on nights and weekends.

I've been writing software for over twenty years. Most of that time has been spent in the unglamorous middle — the integration seams, the deploy pipelines, the places where a clean architecture diagram meets a legacy system that disagrees with it.

These days my focus is Cloud AI at GE Aerospace. Outside of that, I build on AWS and GCP, mostly in TypeScript and Python, and I write here about what actually worked and what didn't. The failures are usually the more useful half.

This site is also where I test things. Everything listed below runs in production on this domain — the chat, the MCP server, the search, the typing app. If something here looks interesting, the source is public.

What's running here

Built and deployed on this site — Nuxt 4 on Cloud Run, Postgres with pgvector, Terraform for the infrastructure.
Agentic chat
Streaming chat over SSE with tool use, sandboxed code execution, and document generation. The agent discovers MCP tools at runtime instead of hardcoding them.
Aviation MCP server
An MCP server co-hosted with the blog, answering questions over FAA registry and BTS flight data. Same iframe renders here and in Claude Desktop.
Hybrid RAG search
Every post is chunked, contextualized, and embedded. Search runs pgvector cosine and BM25 in parallel, then fuses the rankings.
Typing tutor
A 20-stage typing curriculum for my kids, with PixiJS games, AI-generated lessons, and mastery gates that refuse to advance until the accuracy is real.
Workflows
A node-based editor for chaining prompts into multi-step pipelines with typed schemas between the steps.
Poker
Heads-up Texas Hold'em against LLM personas that each bet differently and talk trash between hands. Rendered with PixiJS.
Apps
Most of my work lives in private repos. These are the public ones I can point at.

Elsewhere