I write code and open-source it. Cyber-security is interesting.

Technologies I use: javascript, node, python, html5, css3, c, rust, c++, linux, sql, lua, c#, php, go, java, kotlin

Click a technology to show projects that use it.

What I'm learning right now: protobuf, grpc, nix, distributed systems, flutter

Cyber security certifications: GIAC Certified Incident Handler

View my github gitlab codeberg


I help maintain rust-gamedig, and contribute to node-gamedig; a dependency of my gamestatus discord bot. I have added new protocols, improved the CI, and fixed bugs.


A plugin for coredns, an open-source DNS server written in go, that responds with the IP addresses of local network interfaces. e.g. eth0.iface ->


Github action for building and archiving rust projects.


I added some bug fixes and feature improvements to NewPipe: an open-source mobile app for streaming online video.


I added some bug fixes and feature improvements to spot: a free software implementation of spotify.


A simple TCP sever written in rust that broadcasts any message sent to it to all connected clients. This project was made to help improve my understanding of mutexs and arcs, and also to allow me to test my rust build github action on a simple project with no dependencies.


A small C program that uses the X11 protocol to identify the color of the screen where the user clicks.


A small jekyll site dedicated to cybersecurity related posts and guides


This website is written using HTML5, pure JS and pure CSS3. It uses a custom written static-site generator to minify and add integerity to assets as well as pre-render the projects page.


A discord bot written utilizing discord.js to allow users to create suggestions in a set channel. Every suggestion can be voted on by any user and accepted/rejected by any manager. Once accepted/rejected the suggestion is updated accordingly and a snapshot of the votes at the time is included.


discord-gamestatus is a discord bot written with nodejs and a library known as discord.js. It allows users to create a status message via discord that updates every 60 seconds with data fetched using node-gamedig, this information includes offline, current map, server name, player count and player list. It also provides a few other commands allowing users to recieve direct notifications when a player of a specified name connects/disconnects or when the server goes offline/online, or change the style of their status embed with formattable title and description. Data is stored in a JSON file that utilizes atomic locks to prevent data misshaps.


A simple rust program that contacts the discord REST API and outputs information about a given guild in a nicely formatted way.


A library of utilities for creating discord bots in node.js.


This bot rewards users with a random amount of XP each time they send a message, when they level up they receive a set amount of money. Using this money they are able to purchase items which allow them to participate in "minigames" and other items. This project uses JIMP to generate images on the fly in order to display a users level, and also allows users to add their own languages via a JSON file.


A firefox web extension the allows users to more easily save images in pages, it does this by adding a context menu that automatically detects svgs and background-images. It also uses a DOMParser to standardise/resolve SVG elements (download use elements).


discord-antispam allows moderators to automatically ban influxes of users with new accounts of similar names.


cog-baneventsync is a redbot cog written using python and an abstraction of specifically built for commands. The bot syncs user bans between all servers registered.


This C CLI application allows the user to find a list of all possible words sorted by points for any given wordament puzzle. I have also converted it to a website using WASM to compile the C code for usage in browsers.


A chrome web extension that uses the audio capture API to generate bar and line visualizations of the audio currently playing.


A script that runs in Space Engineers in game programming blocks. It emulates the game of dance dance revolution using player sensors and monitors.


A HTML5 canvas based version of the tower of hanoi game, it uses iterators as a low cost way to automatically solve any given number of rings.


pydns is a DNS "server" written in python3 with the builtin socket module. Following the DNS RFCs it serializes/deserializes UDP DNS packets into python objects. Users are able to define hosts in a proprietary text file format.


A lua script that allows users to bind a key to toggle another key on logitech keyboards and mice using logitech gaming software's lua API. It also has an accompanying web site that allows users to modify the script without making any changes to the code themselves.


A discord bot written in python, it connected to various REST APIs and allowed users to check their stats for Fortnite, it also collected various other information todo with the game such as the current shop, server status and news. It used PIL (Python Imaging Library) to create images and graphs to show the player's stats and display shop items. At it's peak this bot had ~2000 servers using it this caused issues as it was a single threaded bot running on poor hardware, as a result I was prompted to research multithreading and asyncronous program in order to increase performance of the bot, this bot is the first discord bot I ever made and is what insipired me to make more.

Download my PGP key