What's been eating away my free time

This is a collection of some personal projects I’ve worked on that are easily viewable online. Anything that is not browser-friendly will not make the cut :(

I’m also available for consulting, so feel free to contact me if you’d like to work together.

Educational videos

My YouTube channel contains educational videos on various R/Shiny/programming topics for all levels. New content is always added, so make sure to subscribe to know about new videos.


I have an interactive, online video course “Case Studies in Shiny” hosted on DataCamp. It’s designed to give you practice building Shiny apps for real-life scenarios, while also helping your learn some advanced Shiny concepts. At the time of writing, 2.5 years after it was released, this course is the #2 best-rated course on DataCamp.

Web services

  • Rental Cashflow Calculator - The quickest way to analyze your next investment rental property - written entirely in Shiny.
  • CRANalerts - Get email alerts when a CRAN package gets updated - written entirely in Shiny.

Website templates

Beautiful Jekyll - a very popular Jekyll theme (> 10k websites built) I created when making this website. You can view a demo or use it yourself to make a pretty website similar to this one by visiting the project page. The theme is extremely easy to install - you can have a site up and running in 2 minutes, and it’s designed to look great on both mobile devices and laptops.

R Shiny apps

If you got here after reading some of my blog posts, you’ll know that I’m a big fan and advocate of Shiny. I also run a company providing Shiny consultancy. Unfortunately all my coolest big Shiny apps that were made for clients are private, but you can see a sample of the Shiny apps I’ve built for myself on my Shiny server.

R packages

  • shinyjs - 💡 Easily improve UX in your Shiny apps, adds useful features to Shiny apps, and call your own JavaScript functions using plain R code. Live demo

  • timevis - 📅 Create interactive timeline visualizations in R (can be embedded into Shiny apps and R markdown documents, or simply viewed from the R console). Live demo

  • colourpicker - 🎨 A colour picker tool for Shiny and for selecting colours in plots. Live demo

  • shinyalert - 🗯️ Easily create pretty popup messages (modals) in Shiny. Live demo

  • addinslist - 📜 Browse through a continuously updated list of existing RStudio addins and install/uninstall their corresponding packages.

  • shinycssloaders - ⌛ Add loading animations to a Shiny output while it’s re-calculating. Originally developed by Andrew Sali, I took ownership in 2019. Live demo

  • shinybrowser - 🌐 Find out information about a user’s web browser in Shiny apps. Live demo

  • shinydisconnect - 🔌 Show a nice message when a shiny app disconnects or errors. Live demo

  • shinyscreenshot - 📷 Capture screenshots of entire pages or parts of pages in Shiny apps. Live demo

  • shinytip - 💬 Simple flexible tooltips for Shiny apps. Live demo

  • ggExtra - 📊 Easily add histograms/density plots to ggplot2 scatterplots, plus a few more ggplot2 convenience functions. Live demo

  • cometr - ☄️ A convenient R wrapper to the ‘Comet’ API, providing easy interaction with the ‘Comet’ cloud platform for tracking and optimizing machine learning models.

  • ezknitr - Avoid the typical working directory pain when using ‘knitr’. If you’re into R and reproducible research/generating reports with knitr, then do check it out.

  • shinyforms - 📝 Easily create questionnaire-type forms with Shiny. Check out a demo online. (In development, looking for funding).

  • ddpcr - 🔬 Analyze and visualize droplet digital PCR data. Manuscript in F1000Research. Live demo

  • lightsout - 🔦 An implementation of the puzzle game Lights Out using R. Play the game online

Chrome / Firefox extensions


  • - a very popular shopping platform. I was one of the few original developers of the site (before it was even called Wish!) and contributed mostly to the frontend. I was part of Wish’s inception and initial growth, but since then it has grown to be a #1 Android Shopping app, and I can’t claim any credit to that. :)

  • - website for women to discover and talk about interesting makeup applications. Clearly my area of expertise! The site was mostly developed by Brent Francia (CEO) and I, and I was responsible for all aspects of the development, seeing as we were usually a 2-3 person team.

  • - spin-off of MakeupBee that was designed to be more focused on mainstream looks and have a cleaner feel. I’ve written most of the code for this site.

  • - travel site with a social component, that is meant to help users discover and share places to go. It never really took off, but it was my first introduction to web development.

  • - small personal website that I run on a virtual server just because I wanted a place to host my own R Shiny server and RStudio server.

  • - the site you’re currently on. Just a simple site to have some virtual presence.

R Talks

  • Keynote/main speaker:
    • 2016 Shiny Developer Conference (Stanford, USA) (Video)
    • 2019 SER International Seminar on Statistics with R (Rio, Brazil)
    • 2020 e-Rum European R Users Meeting (Milan, Italy) (Video)
  • Workshop instructor:
    • 2017 RStudio Conf (Orlando, USA)
    • 2018 RStudio Conf (San Diego, USA)
    • 2019 SER International Seminar on Statistics with R (Rio, Brazil)
    • 2019 Open Data Science Conference (San Francisco, USA)
    • 2022 New York R Conference (New York, USA)
  • Conference talks:
    • 2016 useR Conference (Stanford, USA)
    • 2017 useR Conference (Brussels, Belgium) (Video)
    • 2018 RStudio Conf (San Diego, USA)
    • 2021 SER International Seminar on Statistics with R (Rio, Brazil) (Video)
  • Interviews:
  • Meetups:
    • 2016-08 Simon Fraser University Meetup (Vancouver, Canada)
    • 2017-07 Budapest Users of R Network (Budapest, Hungary)
    • 2018-05 R Israel Meetup (Tel Aviv, Israel)
    • 2018-09 Seattle useR Group (Seattle, USA)
    • 2019-04 Toronto R Users Group (Toronto, Canada)
    • 2021-01 North East Data Scientists (Newcastle, UK)


  • Organizer of the Toronto R Meetup.

  • Impact Replays - I participated in a national hackathon (SportsHack15) and won 3rd place with this app. We had to build something that would increase engagement of CFL (Canadian Football League) fans. This app uses play-by-play data from games to let you focus on just the action moments of games.

  • Settlers of Catan Turn Analyzer - You really think that 4 came up more than the 8? Tired of everyone “wrongly” claiming you take the longest turns? Only one way to find out!

  • Minesweeper - tiny Minesweeper game I built as part of the interview process with Airbnb. It’s not fancy at all, but it’s the best I could do in the two hours they allotted me back in the day.

  • Building your own portable oldies gaming console - I bought a raspberry pi and turned it into an awesome portable gaming console that supports SNES/PS1/GameGear/GameBoy. Super cool.

Java games

I have several cool Java games I wrote, but I currently don’t have a way to host the applet online without paying way too much money to buy a certificate. I might find a way around that in the future.