About Me
I've worked at the intersection of computers, language and intelligence for over 15 years. In school, I studied computer science and linguistics, where I became fascinated with the overlap in abstract representations between the way we structure human languages and coding languages.
My career since has focused on data, machine learning, and AI. I started as what would now be called an MLOps Engineer, where I worked to scale our NLP training processes to serve hundreds of classical ML models. I later led a team to share those models across the company via inner source, then took many of those concepts to work in the trustworthy and responsible AI space. Since generative AI has taken off, I've turned my focus towards innovating new patterns of AI and human interaction.
I've long had a yen towards creating excellent, well-designed user experiences both for developers and consumers of AI applications. I subscribe to neither the AI hype nor the AI doomerism: I believe that human creativity and AI can coexist, and that builders of AI applications have a responsibility to their users to ensure that humans thrive when using the tools we have built. I am currently investigating how to build generative AI applications that use LLMs efficiently, effectively, and in ways that support the people whose creativity helped make AI happen.
Welcome. Let's build something cool together.
Activity
- blog hope is a practice February 12, 2026
- blog on designing for the emerging social norms around AI January 25, 2026
- speaking Claude Cowork analysis & Apple picks Gemini January 16, 2026
- speaking AI Code Generation: Wins, Fails and the Future December 26, 2025
- speaking Humans In the Loop: Collaborating in the Age of AI November 13, 2025
- speaking Granite and Docling Workshops October 24, 2025
- speaking IBM partners with Anthropic, plus OpenAI drops AgentKit October 10, 2025
- speaking Building Your (Local) LLM Second Brain June 25, 2025
- speaking Building Your (Local) LLM Second Brain May 1, 2025
- speaking Building Your (Local) LLM Second Brain February 2, 2025
- speaking Birth of InnerSource at IBM November 1, 2021
- writing The Lifecycle View of Trustworthy AI October 22, 2021
- writing NLU Enrichments Part 3: How to Utilize Metadata, Concepts, and Categories January 5, 2018
- writing NLU Enrichments Part 2: How to Utilize Entities, Relations, and Semantic Roles January 5, 2018
- writing NLU Enrichments Part 1: How to Utilize Sentiment, Keywords, and Emotion January 5, 2018
- writing Learning to translate with products of novices January 1, 2013
- writing Nerit: Named entity recognition for informal text January 1, 2013
- writing Using targeted paraphrasing and monolingual crowdsourcing to improve translation January 1, 2013
- writing The value of monolingual crowdsourcing in a real-world translation scenario January 1, 2011
- writing Using monolingual human computation to improve language translation via targeted paraphrase January 1, 2010
- writing Crowdsourcing the evaluation of a domain-adapted named entity recognition system January 1, 2010
- writing Error driven paraphrase annotation using mechanical turk January 1, 2010
- writing Improving translation via targeted paraphrasing January 1, 2010
- writing Models of Synchronous Grammar Induction for SMT January 1, 2009
- coding llm-second-brain