Matt Cowley

What I do:

Senior Web Developer @ DigitalOcean 🦈️️

Maintainer of cdnjs.com @ Cloudflare ⛅️

Developer Relations @ js.org 📝️

Open-source maintainer & avid supporter 💻️

Who I am:

21 y/o based near London, UK 📍️

Chaotic open-source engineer 🛠️

Online as @MattIPv4 👀️

What I'm interested in:

Community Management, Developer Relations, Open-Source Advocacy 🥑️

Software Engineering, Full-stack Development (Node, Vue, React, Next, Nuxt) 🖥️

Live Production, Live Broadcasting (Livestreaming, Radio, Theatre) 🎙️

Stage Management, Production Electrics, Lighting 💡️

  • Architecting and leading the development of a new unified stack to support the Community and 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, working with the team to form timelines and concrete deliverables that can be communicated outward, 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 contributors and power the program. Maintaining an OpenAPI specification and collaborating with an external team to produce the user-facing website, as well as assisting in handling social and support through the Hacktoberfest Twitter account and our support system.

  • A host on a weekly, hour-long chat-show-style livestream broadcast on multiple platforms including Twitch and YouTube. Also, part of the team that helps deliver the yearly deploy conference, a production streamed to a dedicated event website with real-time chat rooms in Discord.

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

  • Developing and maintaining the cdnjs website, cdnjs API, and related tooling (such as the status page and metrics worker).

  • Continuing to work with sponsoring companies such as Algolia, Atlassian Statuspage, and Sentry to retain and grow the sponsorships that we have for their services that help keep cdnjs running.

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

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

  • This web app reveals the new PogChamp emote for Twitch, mirroring the style that Twitch used in many of their motion graphics, as well as documenting the history of the PogChamp of the Day.

  • The entire application was built to be open-source on GitHub, relying on GitHub Actions and Pages to operate, with automation build using the Twitch API to detect new PogChamp emotes.

  • Creating and managing a large community of JetBrains users and team members on Discord where community members can all chat and interact with each other in a safe environment, asking for and receiving help around JetBrains products and projects as well as having open discussion about almost anything.

  • Working with the team at JetBrains to create unique branding in-line with overall JetBrains branding for the community and to ensure that our operations align with what they expect of a user group.

  • Expanding the community beyond Discord into a large network of sub-communities on Reddit, including r/JetBrains and r/PyCharm.

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