Projects


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.


Skip to: Educational videos · Courses · Web services · Website templates · R Shiny apps · R packages · Chrome / Firefox extensions · Websites · R Talks · Paid writing gigs · Misc

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.

Courses

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.
  • King-Liberty Bridge Elevators Status Tracker - See and update the current status of the King-Liberty Bridge (Toronto) elevators. I built this because the public elevators, used by disabled neighbours, were often broken and there was no way for residents to know that.

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

  • Wayback Wiki - Surf Wikipedia on a specific date in the past. Install: Chrome Firefox Edge

  • Single-Page Amazon Return Labels - When printing return labels on Amazon, remove unnecessary information so that the label might fit on one page. Install: Chrome Firefox Edge

  • GitHub Diff Navigator - Allows you to easily navigate through the changes in a file that has been edited on GitHub. Especially useful when editing a markdown file within the browser, as GitHub will only show you the full changed file but not show you where the edits were made. I find this very helpful every time I make small edits to someone else’s large markdown document. Install: Chrome Firefox Edge

  • Cashflow Calculator for Zillow/Trulia/Redfin - Cashflow Calculator extension for Zillow, Trulia, and Redfin. Install: Chrome Firefox Edge

  • Old School GitHub - GitHub rolled out a brand new UI on June 23, 2020. There are a few aspects of the new UI that I (and many others) don’t like and this extension brings back a few features from the classic GitHub look. Install: Chrome Firefox

  • (deprecated) Google Slides Auto Resize Speaker Notes - The slide previews in the Speaker Notes window of Google Slides are tiny and unreadable. This extension dynamically resizes the slides based on the window size to make them useful. Install: Chrome

  • (deprecated) Project Free TV Ad Bypass - Project Free TV serves a 10-second ad page before allowing users to continue to the video - this extension bypasses the ad page. Install: Chrome

  • (deprecated) Smileyfy My Facebook - Chrome extension that adds infinite happiness to your Facebook browsing, plus a little bonus rickrolling :) This is not the most useful (if at all..), but it was a way for me to learn about some more advanced features of Chrome extension development. Install: Chrome

Websites

  • Wish.com - 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. :)

  • MakeupBee.com - 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.

  • Glittr.com - 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.

  • Jauntr.com - 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.

  • daattali.com - 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.

  • deanattali.com - 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)

Misc

  • 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.