Things I've built, and fixes I've sent upstream.
1,775 contributions in the last year
A real-time video call app using WebRTC, React, and Node.js, featuring chat, screen sharing, call recording, and Firebase integration.
End-to-end GenAI pipeline that fetches messages from Discord, summarizes content, stores insights in a vector DB, and enables RAG-based Q&A with a Streamlit UI and Flask backend
A distributed multi-agent system using Microsoft AutoGen with gRPC runtime for parallel idea generation. Watch 20 AI agents collaborate to generate creative business ideas using Agentic AI.
End-to-end DevOps pipeline for a Golang web app using Docker, Kubernetes, GitHub Actions, Helm, and ArgoCD
An intelligent personal assistant built with LangGraph that can browse the web, execute Python code, search Wikipedia, and complete complex tasks with iterative feedback loops.
A multi-agent AI trading simulation using the Model Context Protocol (MCP). Watch AI traders with different strategies compete in a real-time stock market simulation with live Gradio dashboard.
Contributions to projects I build on and rely on.
The real-time voice-agent framework behind ChatGPT voice mode.
Contributed a fix that tolerates unparseable stored tool-call arguments across the Anthropic, Google, and AWS chat formatters, so a single malformed tool call no longer breaks the agent on its next turn.
The UK AI Safety Institute's framework for large language model evaluations.
Contributed a fix to record model hidden states as JSON-serializable lists, so the `hidden_states` output is preserved instead of being silently dropped.
Anthropic's official Python SDK for building agents on Claude.
Proposed clear-error handling for list-form system prompts, so an unsupported input fails with an actionable message instead of an opaque downstream error.
The Python library for writing classes without boilerplate.
Contributed a fix so attribute filters (`include`/`exclude`) match `Attribute` instances by identity rather than equality, so identically-named fields on different classes are no longer confused when building `asdict`/`astuple` output.
A widely-used open-source tool for exploring and publishing data.
Contributed a fix so text and composite primary keys created through the write JSON API are marked `NOT NULL`, preventing rows with null keys that can’t be viewed, edited, or deleted.