
I ship AI to production, not demos: retrieval over real customer data, voice and text agents on every channel, MCP servers that let Claude and ChatGPT drive my apps, and multi-model stacks across OpenAI, Anthropic and Google. Every recent project I've built has AI at its core, and I build them with AI too.
Embeddings and vector search over CRM records, conversations, meeting transcripts and activity history, so answers come from the customer's own data with sources, not guesses.
One agent brain across web chat, voice calls, SMS and email: shared memory, tool calls into the CRM and calendar, and a clean handoff to a human when it should.
Realtime voice agents, ElevenLabs voices, speech-to-text and spoken role-play where a character answers what you actually said.
My products expose their features as MCP tools, so Claude, ChatGPT and other assistants can search a CRM, plan a reunion or draft outreach on a user's behalf, with scoped auth and confirm-before-act on anything that spends or sends.
Multi-step agents and background pipelines with tool use, retries and human approval gates: prospecting, outbound sequences, tailoring jobs that run while you work.
At Salesforce, I evaluated and tuned ML models trained on Mayo Clinic data until they predicted cervical cancer with over 95% accuracy. I bring that same measure-first discipline to every LLM feature I ship.
For Plainvue, I fine-tuned and deployed a custom small language model on Google Cloud, alongside an off-the-shelf option on a frontier model the customer chose, with no training on their data, so they could weigh the ROI of each.
I build adversarial tooling that attacks my own agents: an API that hammers Clarky's agents with prompts designed to pull them off-brand for the client, so they hold up before real customers try.
Structured output that is checked, not trusted: rewrite without inventing facts, show a word-level diff of every change, and score the result honestly.
Pulling structured data out of web pages, PDFs, forms and images, from job postings on any board to customer documents indexed into a vector store.
Every prompt, tool call and token traced through Vercel AI Gateway and LangChain, so I can see what an agent did, what it cost and where it went wrong.
Routing each task to the cheapest model that does it well, with fallbacks, caching and streaming through Vercel AI Gateway, so AI features stay fast and stay profitable.
BAAs in place with OpenAI and Anthropic, and an architecture that keeps patient data compliant end to end across a multi-model stack.
Record, transcribe and summarize meetings into notes, action items and CRM updates automatically.
Assistants that live inside the app and act on its data: Ask Clarky, the Reunionsoft planner that builds the checklist, budget and schedule, a compliance scanner for storefront copy.
Making sites show up in ChatGPT, Claude, Perplexity and Google AI answers: server-side AI crawler tracking, llms.txt, and weekly grading against competitors.
Speech and text translation, pronunciation by ear, and practice that adapts to which words you keep missing.
Embedding with a customer's team to find the workflows worth automating, prototype in days against their real data, and carry it through security review, rollout and adoption.
I give talks, workshops and fireside chats on building with AI, from university developer groups to Tampa's AI community events I host through Clarky AI.
Tech talks that teach engineers to work AI-native, and hands-on training for teams like Haneke Design on Cursor, Claude, agentic workflows and automation across their platforms.
I build with a team of agents: Claude Code and T3 Code running parallel tasks, custom skills and hooks, Claude Design for UI. This site was designed and built that way. It's how one architect ships what used to take a team.