Featured Projects and Experience
Architecting and leading the development of a unified stack to support the Community and WWW (marketing) sites, based on a Next.js client statically exported and served by a CDN, integrating with a set of Node.js API micro-services to provide interactivity for content as well as refreshing exported pages on the CDN, all deployed on multi-DC Kubernetes infrastructure. Collaborating with stakeholders across the company to understand their needs and requirements for the site, ensuring we're doing what's best for them and our wider community, and delivering on those requirements with continual improvements to the stack.
Part of the core team for Hacktoberfest as the lead engineer, developing the internal API service that integrates with GitHub and GitLab to track PR/MRs each year. Maintaining an internal OpenAPI specification for the development team to use when building the user-facing website. Leading the Hacktoberfest Discord community of 60 thousand members, and working with the volunteer moderation team to ensure a welcoming and inclusive environment for all participants.
Building, maintaining, and advocating for, many open-source projects and Community Tools, such as NGINXConfig and do-markdownit. Working with community contributors to triage issues reported on GitHub effectively, shipping new features based on community issues and pull requests.
Running outreach programs for super-users on the Community site and open-source contributors, rewarding active members answering questions and new contributors to DigitalOcean maintained open-source repositories on GitHub. Thanking them for getting involved with our community and rewarding them with a swag pack.
Working with the team at Cloudflare to maintain and ensure the reliability of service for cdnjs, the world's largest public CDN, as we continue to serve over 230 billion requests a month to over 13% of websites on the internet.
Assisting external contributors wanting to add libraries to cdnjs by ensuring we respond on GitHub to issues that are being created and reviewing any pull requests submitted by contributors to add new libraries. Providing support to users that reach out to the cdnjs Twitter account and triaging any reported issues.
Working with the team at Alveus Sanctuary and other volunteer developers, rebuilding the entire website for the non-profit from the ground up, replacing their legacy WordPress-based site that had many performance and maintainability issues with a modern Next.js-based stack.
Creating an open-source organization on GitHub where the code for the site is available for anyone to view and contribute to, as well as providing a centralized place for other open-source projects related to Alveus to live, allowing a community of developers to come together to help the sanctuary.
Supporting the team at Alveus in launching new, interactive features to engage with viewers of the livestreams, such as giveaways and push notifications, allowing them to grow the community, provide more education to the world, and raise more funds to continue operating.
Restarter is a Discord bot that started with version 1 written in Python back in 2017, and is now in version 3 running Node.js with Discord.js, having grown to serve over 19,000 Discord servers and communities with assorted utility and moderation functionality.
The bot runs in a distributed fashion across multiple processes, tied together through network calls and a shared database backing the whole system. Included in the bot is a wide range of utility functions designed to make running a Discord server easier, such as ChannelReacts, one of the most popular features of the bot, which allows server administrators to set the bot to automatically add reactions to new messages posted in a channel.
Alongside the utility functions, Restarter also provides server administrators and moderators with a strong set of core moderation functions, such as the ability to ban and kick users with a full log of actions taken, as well as features to automatically remove messages containing Discord invites.
The 220.127.116.11 DNS over Discord bot allows anyone to perform DNS lookups directly in Discord, via the DNS over HTTPS 18.104.22.168 resolver.
Directly responsible for triaging issues and reviewing pull requests made by third-party developers requesting their custom js.org subdomains on the js.org GitHub repository, ensuring they meet our standards for being granted a free subdomain.
Building out automation to handle the annual cleanup of the js.org active file to ensure all subdomains are valid, liaising with contributors on subdomains which have failed checks to resolve any issues.
Working with the js.org team and external contributors to continually improve the PR review process and domain management systems through continuous integration (CI) and automation, removing the need for manual human intervention where possible.
Working with the team at Rythm to deliver a unique website experience for the over 20 million communities using Rythm and exploring the features of the service, utilising Nuxt.js statically exported via a custom CI pipeline and deployed to internal Kubernetes infrastructure for resiliency.
Developing a fully client-side checkout experience for new customers, integrating directly with an in-house payments API as well as with Chargebee and Stripe to provide a seamless flow for the user, allowing them to quickly gain access to paid features of the service online.
Previously, worked with a team of developers to build the original web dashboard for Rythm in PHP (Laravel), integrating with the private API for the bot. Also, developing ancillary support bots for the team, such as support automation and donations integrations, and assisting in providing technical customer support.
Part of the crew for over 30 productions, both in-house and visiting. Often the production/stage electrician during performances put on by the theatre company, responsible for practical effects and overall power distribution during productions.
Responsible for continual maintenance of all electrical equipment within the theatre company, including lighting fixtures, power distribution, control equipment, etc.
Training new members of the crew on basics electrical safety, how to wire common connectors used in the theatre, and the basics of power and lighting in the venue.
Responsible for the installation, wiring and checking of any practical effects used in productions, ensuring they are safe to be used on stage.