I'm a software engineer at Posit, where I build and maintain tools in the Shiny ecosystem for both R and Python, including shiny, py-shiny, shinytest2, shinylive, plumber, and reactlog. Lately that means OpenTelemetry for Shiny, LLM-powered apps, and custom UI with React.
I also maintain GGally, a ggplot2 extension I started in grad school. I received my PhD in Statistics from Purdue University, advised by Ryan Hafen and William Cleveland, working on large data visualization. Before that I studied computer engineering at Iowa State.
By the numbers
—
merged pull requests
R, Python & TypeScript packages I've contributed to
| Language | Package | Role | Downloads, last 6 months |
|---|
Merged PRs are mine; reviews are others' PRs I reviewed; downloads are everyone's (CRAN via cranlogs, PyPI via pypistats, npm). Role comes from each package's author list. Each sparkline has its own scale, so read them for shape. Hover for monthly values.
Other work
| Repository | My PRs | About |
|---|
GitHub activity
Talks & workshops
All talks
Videos
All videos
Writing
Papers
- Escape from Boxland: Generating a Library of High-Dimensional Geometric Shapes — R Journal, 2016
- The Generalized Pairs Plot — JCGS, 2013
- Delayed, Canceled, on Time, Boarding… Flying in the USA — JCGS, 2011
- Monitoring the 2008 Election Visually — Chance, 2010