my toolbox

Read more about the set of tools I use. My home base is R, but I leverage a lot of HTML, CSS, and JavaScript along the way.

wrangle

Data wrangling takes time; often at least half the energy spent on an interactive tool build is on data preparation. Tools from the tidyverse make it easier. I use packages like tidyr, dplyr, stringr and purrr to get data into tidy and usable formats. Making sure data are formatted properly for display is key; lubridate and glue are a go-to for me for that purpose.

Click on a hex to go to the package website.


Other packages and tools I use:
openxlsx


visualize

I primarly use the ggplot2 package for data visualization and related extensions for interactivity and animation. Currently, I primarily use ggiraph for interactive graphics. I also use the D3 JavaScript library and incorporate D3-based graphics in R-based tools using the r2d3 package.

Click on a hex to go to the package website.


Other packages and tools I use:
reactable
DT
cowplot
D3
plotly
gganimate

build

How you design and build a data tool or website is an important part of setting the tone for the look, feel, and user experience. I build interactive applications in shiny for R and websites using quarto. I leverage HTML, CSS, and JavaScript libraries to style the site and add additional interactive features. I have also used parameterized rmarkdown reports to generate custom reports based on user interaction in Shiny applications.

Click on a hex to go to the package website.


Other packages and tools I use:
bsplus
shinyWidgets
gdtools
shinydashboard
shinycssloaders
shinyjs


manage

Package management and deployment is a key part of the application building process. I utilize package management tools like renv and deployment and monitoring tools like connectapi as part of the development process. Web-based content that I build is deployed using a Posit Connect server. The metathis package makes it easy to define meta tags and set header elements for a site. I use git-based workflows for version control and collaboration.

Click on a hex to learn more about the tool.