GitHub Repo Organizer
I started feeling overwhelmed with the number of GitHub repos I have. I didn't know which repos were important, which ones were still active, which ones needed archiving or deleting, which ones needed descriptions - and manually figuring this out by going through them one by one in the GitHub UI seemed daunting.
At Spotify, we had a tool called backstage, where we could browse all of our websites, services, data endpoints, pipelines, app features, etc (collectively called "components") in the nice DataGrid UI component from DevExpress. We had columns for each attribute of the components, could filter, sort, and display relevant info. I wanted to be able to browse my GitHub components like that. Luckily, the @devexpress/dx-react-grid component is open source, so I was able to get something going!
I built GitHub Repo Organizer in React, using dx-react-grid and OctoKit. Using the GitHub GraphQL API, I was able to pull in many attributes of each repository, and dynamically display different columns in the UI, so that I can filter on criteria. For example, I wanted to find all the repos without a description or tags, so that I was able to one by one go through each of them and add them one. I can sort my repos by how many open pull requests each has, so that if I've lost a notification in the GitHub UI, pull requests (in theory) don't fall through the cracks.
There are definitely more columns I would like to add: whether or not Dependabot is enabled, whether or not gh-pages is enabled, what CI provider (if any) is configured, who (or how many) have contributed to the repo. I would also like to be able to configure rules like "the oldest open pull request on each repo must not be older than X", or "all repos on my org must have a code of conduct", and run a check every week to alert me if any of the rules are broken.
Check out GitHub Repo Organizer!
COVID-19 Growth Rate Display
In March 2020, when the world was going into lockdown, believe it or not, it used to be difficult to get information about the current COVID 19 case rates - and in particular, the growth rate. I had watched an excellent YouTube video by 3Blue1Brown about modelling virus growth rates, and wanted to monitor the R number representing the day-on-day growth of virus infections, rather than the absolute number of infections (or deaths) per day.
Check out COVID-19 Growth Rate Display
I've been giving technical talks since university, in 2013 or so, on a variety of topics, from Git for students, to How Node JS can be leveraged in live musical performance. I've also spoken at hackathons and meetups as a representative of Spotify for Developers. One interview was featured on BBC One in a documentary Invented In... London, doing a segment about hackathons in the UK.
During the COVID-19 pandemic, developer meetups turned to Twitch! During Hacktoberfest in particular, the developer relations industry turned to live streams and video content as a means of developer outreach and engagement. I spoke on several streams about Meyda, an open source project I've worked on for years. My goal was to give prospective new open source contributors an insight into the realities of long term open source maintainership.
The streams were recorded, so here they are!
YouTube embeds track you.
YouTube embeds track you.