Work

Case studies, not a repo list

Each one covers the problem, the constraint that made it hard, what I built, and what it cost or taught. Where something is live, there is a URL. Where it is internal, it says so.

Start here

AI Greg: a public MCP server that answers for me

One brain, five channels. Anyone's AI agent can interview me; anything it cannot answer goes to the real Greg with a human approval gate on every write.

live Python · FastMCP · Cloud Run · Gemini File Search

CP Tutor: office hours forever

A grounded tutor for corporate training alumni. It answers only from my course materials, in my voice, with citations, so the training keeps working after the room empties.

live Python · FastAPI · Cloud Run · Gemini File Search

Also