I’ve authored several R packages, which are all available on GitHub:
Most of these packages were to some extent “by-products” of the analysis that I’ve been doing for the last couple of years, which I decided would have greater value developed into packages.
In addition, I maintain the following packages as part of my work with Microsoft Viva Insights:
If you have any comments or questions about these packages, please get in touch - any feedback would be valuable!
Alongside R packages, I’ve recently been building small web apps and tools through “vibe coding” — quick, exploratory builds where I use AI-assisted development to turn an idea into a working tool as directly as possible. These are typically self-contained, browser-based, and built for a specific real-world need of mine.
A local Python app for tagging and organising tracks, designed for DJ workflows.
Track Tag Manager is a Python desktop app I built to help manage track metadata as part of a DJ workflow — making it easier to tag, filter, and curate tracks without being locked into a single piece of DJ software. It runs locally and offline, so your library never leaves your machine.
An AI-powered triathlon coaching app.
Tri Harder is a browser-based triathlon coaching app that uses AI to help athletes plan and adapt their training across swim, bike, and run. It’s designed to make structured, personalised coaching accessible without needing a paid platform — runs entirely in the browser, no install required.
A local-first writing app that tracks and analyses your writing activity.
Wrava turns a folder of ordinary Markdown files into a writing practice you can see. Every accepted change is measured as words added, words deleted, and net document growth, so a distraction-light editor doubles as an activity tracker. The analytics view turns those raw edits into a 12-week trend, a consistency heatmap, and per-document and per-tag breakdowns. It is open source, and everything stays on your own machine.
A turn-based strategy game for 2 to 4 players, playable in the browser.
Dominium is a grid-based strategy game descended from a pen-and-paper game I played at school. Each player defends a base, gathers food, wood and stone, and builds an army to destroy every other base on the board. Turns run in three phases of income, build, and act, with six unit types, builder structures, fog of war, and terrain that shapes where you can move and build. You can play hot-seat with friends or against AI opponents, and there is an experimental isometric view alongside the classic pixel art.
On this same site you can find my blog, where I write about things related to #rstats and data science. I contribute my blogs to r-bloggers, R Craft, and R Weekly, which you can find as an example two of my blogs featured in the 2019 Week 17 update on R Weekly. My post on the state of R artefacts is also selected as the highlight post of 2019 Week 27 on R Weekly.
RStudio Projects and Working Directories: A Beginner’s Guide - a starter guide on setting up effective, collaboration-friendly directories - a must read for beginners in R. Special thanks to Chu Kyoyoung for translating this post into Korean.
Using data.table with magrittr pipes: best of both worlds - a post on combining the strengths of the wildly popular tidyverse and the blazing fast data.table packages
LondonR: Hadley Wickham & tidyverse’s greatest hits - a post covering the highlights of Hadley Wickham’s presentation at LondonR in August 2019.
Enterprise Applications of the R Language Conference (London)
I presented at the EARL Conference 2018 on the challenges of using R for market research, and outlining some of the packages and approaches that help overcome these challenges.
Check out my blog on using R for market research and strategy planning below:
Swiss Army Knife for Strategy Planning
A YouTube Interview on R, Data Science, and Market Research
Jonathan Ng is a best-selling instructor and Data Scientist who interviewed me on how I use R in a market research and consulting environment, and my personal journey from Excel to R. Check out the full interview here: