Who Am I?
I'm a senior research scientist at NVIDIA, exploring the ways humans engage with computers in contexts like work and games. I am particularly focused on human performance and experience in those domains. You can see my profile on NVIDIA Research for more.
I have also worked substantially in sports, including quantitative research for a sports betting exchange, a player investment fund, and a professional baseball team. I also maintain many open source projects in esports analytics that have thousands of installations.
Research Areas
I study how humans perform at their peak in work and play. From mastery and decision-making to communication and training, I seek to measure, model, and improve human performance and experience.
My work is driven by large-scale behavioral data, from spatiotemporal tracking and event logs to video, text, and audio. I focus on building interpretable and performant models that surface actionable insights.
Competitive environments — from video games to professional sports — are where I apply my research. I've worked across esports titles like Counter-Strike and Deadlock, as well as baseball, basketball, American football, ice hockey, and soccer.
I maintain several open source projects with thousands of installations, including demo parsers, analytics libraries, and datasets. I believe in building tools that empower the broader research and developer community. Check out my open source repositories.
Tools & Data
pip install boon-deadlock
Boon is a project to create tooling to parse and analyze Deadlock demos/replay files. It contains a core Rust parser, a Python library that provides bindings to the parser, and a command-line interface application.
pip install awpy
Awpy is a Python library to parse, analyze and visualize Counter-Strike 2 demofiles. Since its release, Awpy has roughly 100,000 installations, and has an active Discord community. The library is well-documented and works on Google Colab.
git clone https://github.com/pnxenopoulos/esta
The ESTA dataset contains about 1.5k parsed CSGO demofiles using awpy. ESTA contains detailed spatiotemporal data on player actions (damages, kills, grenade throws, etc.) and trajectories. In total, ESTA is about 4 GB of compressed JSONs and contains 8.6m million actions and 7.9m game frames.
pip install litebook
Litebook is a fast and performant limit order book in Python utilizing a Rust backend.