Portfolio
Books
Statistical Inference via Data Science
Co-authored with Albert Y. Kim and Arturo Valdivia, this free online book teaches statistics via computation and data science fundamentals using R and the tidyverse.
→ Print edition
Getting Used to R, RStudio, and R Markdown
A hands-on, beginner-friendly guide to using R and RStudio for data analysis. Co-authored with Patrick Kennedy. Designed to empower new users with confidence and clarity.Analyses
⛹️ Basketball Data Science
Basketball Data Science: Studies, Tools, and Standards — a growing collection of evidence-based basketball research studies spanning 45 NBA seasons, the WNBA and G League, over 56,000 college player-seasons, and millions of tracking frames and shot records. Topics include player measurement trends, 2-for-1 possession strategy, tracking-data quality, player and lineup valuation, shot selection, and draft evaluation. Every analysis is implemented in both R and Python and reconciled to numeric tolerance before publication, with DuckDB SQL layers and auto-generated scouting reports for all 30 NBA teams.
New analyses:
- The Mebound 🏀, a WNBA-and-NBA play-by-play study of Angel Reese’s signature stat. Across two million events and 4,434 games, she recovers her own misses at three to four times the league rate while carrying league-leading rebound volume: a combination no player in either league matches.
- Draft value by team and college 🎯, which prices every pick slot from 27 draft classes and asks who beats the price. Oklahoma City leads at +489 Win Shares above slot, yet 27 of 30 franchise intervals cross zero, and the era’s biggest steal went first overall. Paired with an interactive viewer of every lottery and draft board since 1989.
- Are NBA players really getting shorter? 📏, 45 seasons of NBA rosters showing the apparent decline is mostly explained by a 2019 measurement-rule change, not players actually getting smaller.
- Does college production beat the scouts? 🎓, a draft-value model with an era holdout that returns an honest negative result — box-score production doesn’t beat scouting consensus.
- The end-of-quarter 2-for-1 ⏱️, a full season of NBA play-by-play testing whether the classic late-quarter strategy actually pays off.
- Shot quality across three leagues 🏀, an xMake/xPTS shot model spanning three NBA seasons, the WNBA, and the G League, separating shot selection from shot-making with a persistence and empirical-Bayes projection.
- Player and lineup value with honest error bars 📊, a RAPM-family valuation of players and lineups across the 2023-24 and 2025-26 seasons.
- Ten years of NBA tracking data 🛰️, 7.5 million frames of raw SportVU tracking at 25 Hz, surfacing a clock-latency trap and validating movement trends across the tracking era.
Apps
🏟️ Sports Viewers
A family of unofficial, timezone-aware schedule and bracket viewers that run entirely in your browser — game times in your local timezone, where to watch, live scores, standings, and calendar export. Start at the Sports Trackers hub, which shows which leagues have games today, or jump straight in:
- World Cup 2026 ⚽ — every fixture across the tournament, with group standings, FIFA tie-breakers, and the knockout bracket
- Euro 2024 ⚽ — every fixture in your timezone, with group standings, UEFA tie-breakers, clinch/elimination math, and the knockout bracket
- Copa América 2024 ⚽ — every fixture in your timezone, with bracket, group standings, CONMEBOL tie-breakers, and clinch detection
- Women’s World Cup 2023 ⚽ — all 64 matches in your timezone, with group standings, tie-breakers, and the knockout bracket
- NBA 🏀 — the full season, playoff bracket with play-in, conference standings, and league leaders
- WNBA 🏀 — the WNBA season with weekly calendar, playoff bracket, and league leaders
- NFL 🏈 — the 2026 week-by-week slate, standings with division seeding, and the playoff bracket
- Premier League ⚽ — fixtures, the live table with home/away splits, player leaderboards, and every final table since 1992–93
- Men’s and Women’s March Madness 🏀 — the full NCAA Division I tournament brackets, every game
Related: the NBA Player Finder lets you explore current NBA rosters by conference, division, team, height, age, and jersey number. It runs entirely in your browser via shinylive, with rosters refreshed weekly from the NBA API.
🎓 Learning & Quiz Apps
- Probability Distribution Viewer 🎲 — a Shiny app for exploring and calculating probabilities for normal, binomial, Poisson, and other distributions
- US State/District Shape Quiz 🦅 — an interactive quiz on US state shapes, capitals, and major cities, built with leaflet
- German Federal State Shape Quiz 🇩🇪 — a similar quiz on the shapes and cities of Germany’s federal states
- SQL Tutorial 🗄️ — an interactive, browser-based SQL tutorial with hands-on exercises against Pacific Northwest towns and flights data, powered by sql.js (SQLite in WebAssembly), so no database install is required
🗣️ AI Tools
- AllKlaro — live, fully local speech translation between German, English, and Spanish, powered by Whisper, Silero VAD, and Ollama on Apple Silicon
Packages
Many of these live in the ModernDive organization on GitHub.
R Packages
- infer — tidyverse-style statistical inference (CRAN · GitHub)
- moderndive — companion to the ModernDive book: tidyverse-friendly introductory linear regression plus all datasets used in the book (CRAN · GitHub)
- fivethirtyeight — access to FiveThirtyEight datasets (CRAN · GitHub)
- thesisdown — thesis templates in R Markdown (GitHub)
R Data Packages
Tidy, documented datasets ready for teaching, in the spirit of nycflights13:
- nycflights23 — all out-bound flights from New York City airports in 2023 (CRAN · GitHub)
- pnwflights22 — all out-bound flights from Seattle (SEA) and Portland (PDX) in 2022 (GitHub)
- azflights24 — all out-bound flights from Arizona airports (PHX, TUS, and others) in 2024 (GitHub)
- volcanoes — Smithsonian Global Volcanism Program data on ~1,200 Holocene volcanoes, their eruptions, and individual events (CRAN · GitHub)
- olympicAthletes — every athlete-event participation in the modern Olympics, Athens 1896 through Milano-Cortina 2026 (~315,000 rows) (GitHub)
- exoplanetdata — tidy data on confirmed exoplanets and their host stars from NASA’s Exoplanet Archive (CRAN · GitHub)
- steves — every episode of Rick Steves’ Europe (2000–2025), with ratings, geography, air dates, and summaries (CRAN · GitHub)
- izzyuntappd — my Untappd beer check-ins (Feb 2015–June 2016), plus an R Markdown template for analyzing them (GitHub)
Python Packages
- moderndive — Python companion to the ModernDive book: a tidy simulation-inference grammar, regression helpers, datasets, and dual-engine plotly/plotnine plots (PyPI · GitHub)
Projects at Reed College
Teaching Tools
Educational Outreach
Faculty & Student Support
- Supported departments: Chemistry, Biology, Linguistics, Sociology, Economics, Political Science, Mathematics
- Assisted senior thesis students with data analysis and visualization
- Provided R/R Markdown training for Chem 101/102 students