I build R packages for data engineering, financial planning and analysis, energy, and public data. Most of my work leverages R and DuckDB but I also use bash and lua.
I do all of my development on codeberg but mirror the repos in github. Please direct all issues / pull requests to codeberg.
If you're interested in collaborating in projects please reach out!
These packages are stable and available on CRAN.
| Package | Description | CRAN |
|---|---|---|
| contoso | Synthetic sales, customer, store, and product tables from the fictional Contoso company, for practicing analysis and BI | |
| motherduck | Utilities for administering and managing 'DuckDB' databases on the 'MotherDuck' cloud platform | |
| sqlm | Fit statistical models (lm, glm, ridge, PCA, k-means, trees, and more) inside SQL databases without pulling data into R |
These packages are not on CRAN yet.
packages should give correct results but may still need documentation polish or a CRAN submission.
packages work, but features are still being added.
packages are under active development and their APIs may change.
| Package | Description | Lifecycle |
|---|---|---|
| ti | Time intelligence (YoY, MTD, QTD, YTD) and customer segmentation (ABC, cohorts) with retail calendar support, in memory or in database | |
| qrtdown | Build R package documentation websites with Quarto instead of pkgdown | |
| tidychain | Excel forensics: parse .xlsx internals and calcChain.xml to decompose models and flag manipulation |
|
| flixpatrol | R client for the 'FlixPatrol' streaming rankings API | |
| tsadata | TSA passenger screening data, streamed from 'Cloudflare R2' into 'DuckDB' | |
| kalshi | R client for the Kalshi prediction market API | |
| pvwatts | Client for NREL's 'PVWatts' v8 solar production API | |
| awh | Workflow helpers: 'Cloudflare' R2 storage, database-aware counting, and input validation |
These are in progress and not public yet.
| Package | Description |
|---|---|
| stwd | Storytelling with Data layouts and highlighting for ggplot2, with a Shiny layout designer |
| icbs | IBCS-style business charts for ggplot2, including variance and waterfall charts |
| pudl | Query the Public Utility Data Liberation ('PUDL') energy database from S3 via 'DuckDB', with plant economics and emissions analysis |
| solarfinance | FAST-methodology project finance model for solar power plants |
| rpsa | Power system analysis in R (optimal power flow, capacity expansion), inspired by 'PyPSA' |
| htxdata | One interface to City of Houston and Harris County open data portals |
| elections | Texas county election data ETL: voter lists, results, and precinct summaries |
| pivot | A language-agnostic pivot table viewer for 'VS Code', powered by 'DuckDB-WASM' |
| Repo | Description |
|---|---|
| 1br | The One Billion Row Challenge in R, benchmarking dplyr, data.table, collapse, 'DuckDB', 'Arrow', and 'Polars' |
| learningR | Notes and learnings on using R |
| usrbinr | The README you are reading |



