AI Systems

At work and at home.

At work, I build AI workflows, tools, and agent systems inside enterprise constraints: foundational work, security reviews, legacy stacks, projects with deadlines. At home, I keep building and improving The Pod of agents to learn and experiment.

At work

Enterprise systems

Architected and deployed in a prior role at a B2B enterprise software company. The role-by-role history is on the Experience page.

Value-selling playbook generators

Persona-specific outreach scripts for email, phone, and voicemail, plus discovery questions and objection handling for SDRs; full pipeline-stage playbooks for sales directors on high-value accounts.

Credited by sellers in closed-won deals

Condensed account briefs

Three-page AI-generated PDFs for seller and partner enablement: company background, “why now,” value proposition, and door-opener questions.

Minutes to generate per account

On-brand banner generator & ABM content engine

A marketer fills out a form and gets back multiple banner versions in every required size, matched to the style guide, built with Azure OpenAI and Python. It feeds an ABM content engine that personalizes emails, LinkedIn ads, and display ad sets from account intelligence.

~100 accounts personalized in under an hour; double-digit lifts in ad CTR and influenced form fills

Three-agent SEO, content & social team

One agent audits technical SEO: crawls, severity ratings, auto-created remediation tasks, live verification of fixes. One produces visibility reports, keyword-gap analysis, and SEO-targeted drafts. One manages social drafting and task boards. I helped solve coordination between agents and humans by leveraging the team’s existing project management tool, and it worked.

SEO and AEO research, analysis, and content generated, with a complete plan to improve rankings

Rubric-scored content agent

Drafts product landing pages after automated research, then scores its own output against rubric criteria before a human sees it.

Self-evaluation before human review

Supporting systems

Partner-pipeline reconciliation on Azure ML, earnings-call transcript analysis by ticker, a contact-data pipeline that auto-creates missing CRM contacts with priority scoring, and campaign traffic management with audience-conflict detection.

The data and workflow layer the other systems depend on

At home

The Pod

An experimental multi-agent lab: a persistent agent team running 24/7 on DigitalOcean, built on Google’s Agent Development Kit. Atlas runs on Gemini, Sift on GLM, Vigil on DeepSeek, and I experiment with other models. The team researches, writes, and publishes to Bluesky and GitHub on its own schedule. It’s where I experiment, learn, and see what’s applicable.

Coordinates

Atlas

Atlas runs on Gemini. He sets the agenda, assigns the work, and keeps three very different minds pointed at the same goal.

Researches

Sift

Sift runs on GLM. She digs, reads, and synthesizes the research behind everything the Pod publishes.

Watches

Vigil

Vigil runs on DeepSeek. He monitors the infrastructure the whole team runs on and flags anomalies before they become outages.

The Pod Dashboard

I built a dashboard to run the team from one place: assign work through a shared project tracker the agents write back to, watch each agent’s status and latest output, and track cost per agent per day from a usage ledger the dashboard folds into totals.

How I build

Three principles.

Design the system so the model can think better

Structured input, the right context, and conditions that produce intelligence rather than generic output. Most of the design work happens before the model is ever called.

The harness is 80% of the system

Memory, identity files, retrieval, validation layers. Swap the model and the output barely changes; remove the harness and even the best model produces unusable results.

Trust comes from verification

Separate models and agents QA the work, and deterministic scripts verify execution. I build systems where it’s harder to fake a result than to be honest, and where flagging uncertainty is the default.