portfolio
These are some things I’ve done over the years. Still trying to figure out if they were contributions to society. Keep in mind I’ve done more than’s listed here - some projects I’ve done over the years are still a bit of a secret.
I spend most of my time on the Internet tinkering with software. I’ve worked with multiple programming languages (with TypeScript, C#, Rust, and Kotlin being my favorites). I believe in learning by doing, and am always ready to throw myself at a new problem to tackle. I’m always looking for new things to learn and new projects to build.
I’ve written a countless number of projects and services, from small command line scripts to full stack programs handling hundreds of concurrent users. I’m proficient in server administration, with experience in Proxmox, NixOS, and Docker. I’m a huge modder of both software and games, and you can find me in several modding communities for video games and software (FINAL FANTASY XIV, Bomb Rush Cyberfunk, WEBFISHING, Rabbit and Steel, Discord, Minecraft, and more).
nitesky
date | November 2024 |
tags | typescript |
link | GitHub |
Carrying off of the knowledge of moonlight and webpackTools, I made a client mod for the Bluesky web app. It functions off of runtime Webpack patching.
GDWeave
date | October 2024 |
tags | c#, godot |
link | GitHub |
I made a mod loader for Godot games, specifically for the game WEBFISHING. What started as a single set of patches for the game evolved into a full mod loader with several community mods. GDWeave was made as a response to the lack of runtime hooking in Godot games. It currently targets one bytecode version but could be extended for multiple engine versions.
For the WEBFISHING community, I manage the mod loader, made some of my own mods with my girlfriend, wrote a save editor, helped make a Thunderstore page, and added support into r2modman.
Statisfactory
date | September 2024 |
tags | c++, javascript |
link | GitHub |
A mod for Satisfactory that adds HTTP API stats to the game. This uses the newly added HTTP API to register custom endpoints, along with a scraper node that forwards that data to Prometheus, and then finally a Grafana server showing the metrics.
To make this mod, I had to enter and learn about the Satisfactory modding community.
ImSky
date | September 2024 |
tags | c#, bluesky |
link | GitHub |
A Bluesky client made with Dear ImGui. This is one of the first ImGui-based UIs I have designed that behaves less like a set of debug windows and more like a functioning app. It is written in C#.
SPRXPatcher
date | August 2024 |
tags | c#, playstation |
link | GitHub |
A modern PlayStation 3 ELF patcher to load SPRX files. I made this after frustration at the existing tools that do similar things in the PlayStation 3 modding scene. Writing about this again would do it a disservice, so I suggest you read the README on the GitHub page and the matching blog post to learn more.
RNSReloaded
date | May 2024 |
tags | c# |
link | GitHub |
A set of mods for Rabbit and Steel with Reloaded II. It is a port of the old C++ projects RNSModding and Bouny. I wrote a library for interacting with GameMaker, as well as scripts for analyzing the game in IDA and Ghidra.
While in the process of making this, I found two issues in various Reloaded codebases and upstreamed fixes for them.
benchtweaks
date | April 2024 |
tags | rust, ffxiv |
link | GitHub |
A DLL injected into the FINAL FANTASY XIV: Dawntrail benchmark that adjusts various things. I made it primarily because nobody else was looking into modding the benchmark.
Temporal Stasis
date | March 2024 |
tags | c#, networking, ffxiv |
link | GitHub |
A network proxy library for FINAL FANTASY XIV. Note that this isn’t any regular network proxy, as it can be scripted to record/modify/drop/replay packets, along with working on a vanilla game client with zero modifications. It can automatically decrypt and re-encrypt the lobby server traffic, as well as decompress and recompress game server traffic.
Ketamine Keep
date | February 2024 |
tags | rust, python, c#, minecraft |
link | GitHub |
A set of tools I wrote to convert an old Minecraft world into a playable Half-Life 1 deathmatch map for my girlfriend’s birthday. It parses Litematica schematics and outputs a .vmf to be compiled. It required a lot of manual touchups later, but the majority of the world was automatically exported and optimized. While the code is very special cased and not ready for anyone else to use, it is still available on GitHub.
There is a blog post available about how I made this here.
htmlua
date | January 2024 |
tags | lua, web |
link | GitHub |
A small set of functions to convert Lua tables into HTML. It functions by having component functions return strings and collapsing tables of strings into a single string to return to the web server. It’s not perfect (especially with escaping data), but it was a small fun idea that gave me more reason to write Lua.
skindl
date | December 2023 |
tags | rust, brc |
link | GitHub |
An automatic one-click downloader for custom Bomb Rush Cyberfunk characters from GameBanana. It’s written in Rust using egui and is probably my best example of a small one-file utility. It was also the first project I ever wrote using my split keyboard. In order to make it, I had to learn the (not well documented) GameBanana APIs and handle multi-threaded UI with egui.
eightyeightthirtyone
date | December 2023 |
tags | typescript, rust, react |
link | Website, GitHub |
A distributed web scraper crawling the Internet for 88x31 badges, built with a few friends. I started the project and wrote most of the code. There are three components: a website rendering a force directed graph, a scraper that fetches websites and parses their HTML, and a server that manages the scrapers with a Redis database and exports a graph for the website.
moonlight
date | December 2023 |
tags | typescript, discord |
link | Website |
A Discord client mod I developed with my friends Cynosphere and adryd. I wrote most of the project structure, extension loading systems, the installer, the official extension repository, and GitHub Actions CI.
goalnet
date | September 2023 |
tags | rust, c# |
link | GitHub |
is a wrapper around dll-syringe and netcorehost to allow easy .NET Core DLL injection into a process. It allows you to make a single config file describing your project & process, launch goalnet, and load your code into it.
bottomlesspit
date | September 2023 |
tags | typescript |
link | GitHub |
A TODO list manager for Obsidian. I wrote it after being unsatisfied with my friend’s similar project and wanting to make my own. It hooks into your todo list and allows you to configure priority, due date, etc.
Slop Crew
date | August 2023 |
tags | c#, unity, networking, brc |
link | Website |
I made a multiplayer mod for Bomb Rush Cyberfunk. It hit over 10,000 downloads in just about a week. The game is made using Unity with the Mono scripting backend, so the mod is a BepInEx plugin that talks to a server and spawns player objects accordingly. The entire project is FOSS and there have been several contributors to it.
scraft
date | July 2023 |
tags | java, kotlin, minecraft |
link | GitHub |
I was fascinated by the game Screeps (where the concept is to program bots and automate a world you can’t interact with directly) and wanted to make my own for Minecraft. I teamed up with a friend from Server Scanning Inc to modify Minecraft’s login flow to make a server only inhabited by bots. Authentication works by modifying the hostname you’re using to include an API key. While the project lost interest, it turns out other people continued to play on it.
blockbuild
date | June 2023 |
tags | bash, java, minecraft |
link | GitHub |
blockbuild is a CI/CD system powered by GitHub Actions to automatically build and deploy Minecraft mods. Following my minor participation in decompiling the fractureiser malware, I wanted to find a way to host Minecraft mods built from source that can also be verified that they were not tampered with.
A GitHub Actions workflow calls a shell script which builds plugins and deploys it to GitHub Pages. Pages was picked over Actions artifacts because artifacts require an account to download (and cannot be linked to directly without an external service). The deployed website contains both the raw files and a Maven repository. These mods are checksummed and signed with two PGP keys - one proving the mods came from a build system under my control, and one proving the mods came directly from GitHub Actions.
The chain of trust is based off the fact that the output information can be cross referenced in the workflow logs. Tampering these logs would require either modifying the blockbuild source code (which would be visible), or an attack from GitHub itself. This means as long as you trust the source code of blockbuild/the built mods, you only have to trust GitHub to verify these mods are safe.
Gluestick
date | April 2023 |
tags | web, next.js, typescript |
link | Source |
Gluestick is a web app that uses Discord and GitHub OAuth to automatically create and manage accounts on NotNet’s LDAP server. It is written entirely in TypeScript using Next.js, and integrates with LLDAP’s API (with Tailscale & Migadu integration planned).
Gluestick was written over the course of a few weeks with Skip. I primarily led the backend code and authentication flow, while Skip designed the frontend.
Alpha
date | April 2023 |
tags | c#, ffxiv |
link | GitHub |
Alpha is a GUI program for FINAL FANTASY XIV modding, datamining, and reverse engineering. It is designed to replace Godbert and FFXIV Explorer in my workflow.
Xande
date | April 2023 |
tags | c#, ffxiv, dalamud |
link | GitHub |
Xande is a library for FINAL FANTASY XIV plugins that enables model and skeleton imports and exports. I no longer am involved with it, but I wrote most of the (now rewritten) early codebase.
PetoriaGPT
date | March 2023 |
tags | python, machine learning |
Me and Luna trained GPT-J with messages from my Discord server. I learned a lot about how PyTorch functions, and more effeciently finetuning language models.
This expanded into the NotNet Machine Learning Laboratory, a server with an RTX 3060 in it specifically designed for making fun stuff.
There’s a blogpost about this here.
Linkpearl
date | March 2023 |
tags | c#, ffxiv, dalamud |
link | GitHub |
Linkpearl uses the Dalamud plugin API in FINAL FANTASY XIV to have Mumble positional audio in game.
GeezShade & DeezShade
date | February 2023 |
tags | rust, c#, ffxiv |
link | GeezShade, DeezShade |
GeezShade and DeezShade were tools to download files for the ReShade fork known as GShade. This ended up spiralling into a petty fight that ended up with GShade implementing malware into its installer to spite me. GeezShade worked by fetching the URLs from the GitHub CDN, and DeezShade worked by using C# reflection to call the installer code. I also made about $200 in donations from my development of these two tools.
There are two blog posts here and here.
hugehugemassive
date | February 2023 |
tags | rust, sysadmin |
link | GitHub, Example usage |
hugehugemassive is a Rust library to spin up and down servers using the Hetzner Cloud API. It was inspired by previous adventures with a friend group with a similar script known as “bigbiglarge”, written in Python.
bigcheese
date | January 2023 |
tags | javascript, node.js, python, ffxiv, discord |
link | GitHub |
The Big Cheese is a Discord bot for FINAL FANTASY XIV reverse engineers. It is connected to a Ghidra instance and has commands for decompiling functions without needing to open a decompiler. The bot is written in Node.js and shells out to Ghidra to run headless scripts.
Plogon.com
date | January 2023 |
tags | web, javascript, node.js |
link | Website, GitHub |
Plogon.com is an interactive website for when FINAL FANTASY XIV is under maintenance. It features lo-fi music with animated backgrounds, but the main gimmick is a synchronized “horse button” that displays emojis on every client’s screen.
It was written in vanilla HTML with a Node.js backend. At its peak, it sustained over 1000 WebSocket connections at once on a home server.
rockstar
date | December 2022 |
tags | rust, lua |
link | GitHub |
rockstar is a lua script evaluator written in Rust meant to provide helpful APIs for script automation, similar to Hammerspoon for macOS.
ftpfantasy
date | December 2022 |
tags | rust, ffxiv |
link | GitHub |
ftpfantasy is an FTP server written in Rust that provides access to the FINAL FANTASY XIV client filesystem. It uses the libunftp, vfs, and ironworks crates, along with ResLogger2, in order to build the filesystem.
Heliosphere
date | November 2022 |
tags | web, javascript, react, svelte, ffxiv |
link | Website |
I worked together with Anna to build Heliosphere, a modding site for FINAL FANTASY XIV. I originally was working on the frontend, but I burned out and we rewrote it from React into Svelte. I am no longer involved with the project.
loremipsum
date | October 2022 |
tags | rust, minecraft |
link | GitHub |
loremipsum is a distributed system for finding and monitoring Minecraft servers. It takes in a list of IP addresses and periodically scans them.
loggy
date | August 2022 |
tags | web, javascript, react, ffxiv |
link | Website, GitHub |
A log viewer for people providing support in the XIVLauncher & Dalamud Discord server. It parses zip files clientside and displays troubleshooting info extracted from log lines.
ReSanctuary
date | August 2022 |
tags | c#, ffxiv, dalamud |
link | GitHub |
After the release of Island Sanctuary in FINAL FANTASY XIV, I built a Dalamud plugin to improve the user experience. It contains multiple features like showing where to gather items, a to-do list, showing the required items to craft materials, all without having to open more UI windows. Because it uses ImGui, you can drag it off screen if you have multiple monitors.
packy
date | August 2022 |
tags | java, minecraft |
link | GitHub, Modrinth |
Packy is a Minecraft mod that I submitted for ModFest: Singularity. It lets you store items in your ender chest through a backpack.
tistow
date | July 2022 |
tags | rust, windows |
link | GitHub |
tistow is a PowerToys Run/macos Spotlight/Alfred/Wox/ueli clone written in Rust, because I was unhappy with the options I had on Windows. It uses egui for the UI.
Plogon
date | June 2022 |
tags | c#, docker, ffxiv, dalamud |
link | GitHub |
I helped build Plogon, the CI/CD system for Dalamud plugins. Mainly, I helped figure out GitHub Actions.
It powers all main repository plugins for Dalamud, providing plugins to a userbase of over 100,000 people (count sourced from Discord server as of May 2024).
Parachute
date | December 2021 |
tags | java, minecraft |
link | GitHub, Modrinth |
Parachute is a quality of life Minecraft mod full of small client tweaks. After starting development in 2021, we rewrote and open sourced it in December, and worked on it throughout 2022.