Projects
Agentic AI
University of California, San Diego
Sep 2025 – Jun 2026
RetiredGenePattern Module Toolkit
Multi-agent AI pipeline that automates wrapping and deploying bioinformatics CLI tools as production-ready GenePattern modules. Point it at a tool's git repository, documentation and example data, then a hierarchical pipeline of researcher, planner and six artifact-specific agents handles the rest, coordinated by a supervisor agent with structured escalation. Fine-tuned LoRAs trained on synthetic data at the San Diego Supercomputer Center. Increased GenePattern module production by ~500%.
University of California, San Diego
Apr 2025 – Jun 2026
RetiredGenePattern Copilot
Agentic AI assistant for GenePattern and bioinformatics research, combining RAG-based question answering with direct platform control. Built on an MCP server wrapping the GenePattern REST API, enabling the agent to launch jobs, retrieve results and explore analyses on the user's behalf. Migrated from LangChain/LangGraph to Pydantic AI for superior structured output handling and reliability.
University of California, San Diego
May 2025 – Mar 2026
RetiredGenePattern MCP Server
MCP server exposing the GenePattern REST API as 52 type-safe tools, so any MCP client can launch bioinformatics analyses, monitor cloud jobs, browse module manifests and retrieve results on a researcher's behalf. Built on FastMCP with Docker deployment and bearer-token auth. Provides the platform control layer underneath GenePattern Copilot.
Open Source
Jul 2026 – Present
ActiveAgent Template
Opinionated starting point for building AI agents in Python. A setup script allows you to select one of three agent patterns: single, supervisor or tool-calling. Ships with an eval suite spanning pass/fail, dataset and LLM-as-judge cases. Logfire provides observability. Request and token limits can be set on every run. Unit tests run against a stub model, no API key needed.
Open Source
Aug 2026 – Present
ActiveContent Agent
Local agent with a web interface that drafts on-brand social posts and email newsletters for several brands, each with its own voice, audience and content history so successive drafts don't repeat themselves. Separate agents handle Bluesky, LinkedIn, post repurposing and newsletters, with review and editing before anything ships through the SkyPilot API. Runs against a local Ollama model by default.
Open Source
Jul 2026 – Present
ActiveOSS Notifier Agent
Scheduled agent that watches a configured set of GitHub repositories and uses an LLM to triage newly opened, unassigned issues for whether a first-time contributor could realistically take them on. Then emails a digest of the ones that qualify. Runs entirely on GitHub Actions with no server to host. Built on Agent Template, with its own eval fixtures covering the triage.
Research Software & Developer Tooling
Broad Institute of MIT and Harvard
Oct 2014 – Jul 2025
RetiredGenePattern Notebook
Jupyter environment that renders GenePattern analyses as interactive widgets, letting researchers interleave narrative, figures and genomic analysis without writing code. A core component of the g2nb project and the subject of peer-reviewed publications in Cell Systems and Cancer Research. Maintained across eleven years and 66 releases on PyPI, with a Docker image for full-stack deployment.
University of California, San Diego
Oct 2019 – Oct 2024
Retirednbtools
Framework for building Jupyter tooling that non-programmers can use. A decorator turns any Python function into an interactive form, and a toolbox interface registers those tools as discoverable steps inside a notebook. Ships as a JupyterLab extension written in TypeScript alongside a Python package, distributed through PyPI and npm. A core component of the g2nb project.
Broad Institute of MIT and Harvard
Jun 2016 – Mar 2023
Retiredjupyter-wysiwyg
Rich text editor for markdown and HTML cells in Jupyter, letting researchers format notebook prose without writing markup. Integrates TinyMCE into JupyterLab's cell lifecycle and main menu, maintained across seven years of upstream changes. Adopted by SUSE Linux and distributed through its YaST package manager. Published on PyPI and npm.
Broad Institute of MIT and Harvard
Jan 2011 – Jul 2025
RetiredGenePattern Server
Core contributor to the GenePattern platform, a web application exposing hundreds of genomic, bioinformatic and machine learning tools to researchers who don't write code. Built its REST API, which the platform's Python client and MCP server both wrap, revised its AJAX frontend and implemented its GenomeSpace integration linking GenePattern to Galaxy, IGV, Genomica and Cytoscape. Thousands of commits across fourteen years.
Broad Institute of MIT and Harvard
May 2015 – Jan 2024
RetiredGenePattern Python Library
Official Python client for GenePattern, wrapping the platform's REST API so that users and downstream tools can submit jobs, inspect task manifests and pull results programmatically. An optional pandas-backed module loads result files into dataframes. Maintained across nine years and 28 PyPI releases. The layer the platform's notebook widgets and MCP server were later built on.
University of California, San Diego
Jul 2016 – Jun 2026
Retiredigv-jupyter
Jupyter extension that embeds igv.js, the Integrative Genomics Viewer, directly into notebooks, so researchers can explore an interactive genome browser inline against their own tracks and loci instead of exporting data to a separate tool. Principal contributor across a decade of development alongside the IGV team, writing a little over half of the project's commits. Published on PyPI.
Other Projects
Open Source
Aug 2026 – Present
ActiveSavings Calculator
Client-side calculator that models a household's assets, debts, income, expenses and property events, then projects net worth forward as either a deterministic accounting or a 1,000-trial Monte Carlo simulation over bootstrapped market returns. Retirement shortfalls draw down through a cost-basis-aware waterfall across taxable, tax-deferred and Roth accounts. Pure JavaScript. Nothing leaves the browser.
Tab Creations
Aug 2021 – Present
ActiveSaga Machine for Foundry VTT
Full Saga Machine game system implementation for Foundry Virtual Tabletop, covering character sheets, actor logic, bundled compendium content and localization. Includes experimental backwards support for four earlier Tab Creations titles including Shadows Over Sol. Maintained across five years and tracked through successive Foundry major releases.