portfolio
These are some things I’ve done over the years. Keep in mind I’ve done a lot more than’s listed here - some projects I’ve done over the years are still a secret, but I’d love to write about them someday.
I spend most of my time on the Internet tinkering with software. I’ve worked with multiple programming languages (with TypeScript, C#, and Rust being my favorites). I believe in learning by doing, and I’m always ready to throw myself at a new problem to tackle, looking for new things to learn and new projects to build. I’m working on things almost every day as a hobby, building new projects whenever I feel like it.
I’ve made a countless number of projects across all kinds of categories - command line tools and scripts, application/game modding and reverse engineering, static and dynamic websites and APIs, and full stack programs handling hundreds of concurrent users. I’m proficient in server administration (with experience in Proxmox, Nix, and Docker), and I run servers at home as well as in the cloud.
I’m an extremely curious person, and I love learning about the software and games I interact with daily. I’m often poking around in software and game internals, and it’s a running gag for me to decompile things before I even open them for the first time. You can find things I’ve done in various modding communities (FINAL FANTASY XIV, Discord, Bomb Rush Cyberfunk, WEBFISHING, Rabbit and Steel, Minecraft, and more).
Some posts have specific tags that you can Ctrl+F for:
- Languages (
typescript
,javascript
,c#
,rust
,kotlin
,lua
,java
,c++
,python
,bash
) - Ecosystems (
discord
,ffxiv
,godot
,brc
,minecraft
) - Fields of work (
ci
for CI setups like GitHub Actions,infra
for managing project infrastructure and releases,modding
for modding applications and games)
moonlight
date | December 2023-present |
tags | typescript, ci, modding, discord |
link | Website |
A Discord client mod I developed with my friends Cynosphere, adryd, and redstonekasi. moonlight is one of the longest actively-maintained projects I’ve worked on, and I have been using it daily for months. It covers a lot of broad topics in one ecosystem - moving target reverse engineering, project management, project PR and technical support, extension development, and creating good UX and DX.
In terms of code, I’ve worked on the core codebase, installer, documentation, client RE, related libraries, project distribution, and extension distribution. I also work on my own extensions, separate to the project’s official extensions.
Community-wise, I moderate and provide technical support in the Discord server. I manage project PR and communication through Discord announcements, Bluesky, GitHub Discussions, and a blog. I often help troubleshoot issues for both users and developers, prioritizing bugfixes when possible.
Slop Crew
date | August 2023 |
tags | c#, typescript, ci, modding, brc |
link | Website, GitHub |
A multiplayer mod for Bomb Rush Cyberfunk. As of writing, the project has over 90,000+ downloads on Thunderstore. I no longer actively maintain Slop Crew, but some third party servers still exist.
The server and client plugin is written in C#, and the website is written in TypeScript using React. While the base game does not have any multiplayer features, Slop Crew adds a custom MMO-style networking layer on top, using GameNetworkingSockets and Protobuf. On top of developing the project, I also moderated the Discord server, with over 3,000 members at its peak.
Members of our community made community seasonal events that connected to Slop Crew. At its peak, the server handled 100 concurrent players in the same area.
GDWeave
date | October 2024 |
tags | c#, rust, infra, modding, 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. I no longer actively update GDWeave, but it’s still actively used by the WEBFISHING community.
For the WEBFISHING community, I wrote 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.
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. Support for Godot 4 would require a complete rewrite, as Godot 4 stores scripts in plaintext.
Alpha
date | April 2023-present |
tags | c#, ffxiv, infra |
link | GitHub |
A GUI program for FINAL FANTASY XIV modding, datamining, and reverse engineering. It is designed to replace Godbert and FFXIV Explorer in my workflow. Alpha is recommended by XIVAPI and used actively by plugin developers and other modders.
In November 2024, I finished a rewrite of Alpha that took almost a year to complete. In March 2025, I added several new features and added support for EXDSchema.
eightyeightthirtyone
date | December 2023 |
tags | typescript, rust, infra |
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.
As of writing, it’s indexed over 33,000 pages. I manually update the website every few weeks when I feel like it.
SPRXPatcher
date | August 2024 |
tags | c#, modding |
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.
Temporal Stasis
date | March 2024 |
tags | c#, modding, ffxiv |
link | GitHub |
A network proxy library for FINAL FANTASY XIV. This proxy works fully on a vanilla client, intercepting and recreating packets on the fly. I’d suggest reading the README to learn more about it, as I go into detail there.
In April 2025, I rewrote Temporal Stasis with better performance and an easier API.
Other projects
Old projects ahead
This is a chronological list of almost every project I’ve made on the Internet. Newer (and arguably more impressive) stuff appears first, but older projects are listed further in.
Given that older projects are indeed old, the descriptions I wrote at the time may be outdated, and I may not feel the same level of pride that I did when I wrote about it here.
AlphaWeb
date | April 2025 |
tags | typescript, c#, ffxiv |
link | GitHub |
An experiment in running Lumina fully locally in the browser with WebAssembly. I spent about two days on and off troubleshooting weird build systems, and coming up with creative solutions to get the library to behave how I wanted it to without having to fork anything.
daydream
date | December 2024 |
tags | typescript |
link | GitHub |
A client mod for the Beeper desktop app. Because the app uses ESM and not Webpack, I had to abandon my previous JavaScript patching knowledge and come up with something new. This remains mostly a proof of concept instead of an actual mod.
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, which means that it takes less effort to maintain than a traditional fork.
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 my knowledge, this was one of the first mods using the HTTP API, and one of the first mods for Satisfactory 1.0 in general.
To make this mod, I had to enter and learn about the Satisfactory modding community. I never properly submitted or updated this mod, so instead I would suggest this repository for a more up-to-date equivalent.
ImSky
date | September 2024 |
tags | c# |
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. While it’s not very stable for daily use, it supports being able to view and interact with posts, as well as creating new posts.
RNSReloaded
date | May 2024 |
tags | c#, modding |
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. I no longer actively maintain this project, but other people from the Rabbit and Steel community continue to work on it.
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, modding, ffxiv |
link | GitHub |
A DLL injected into the FINAL FANTASY XIV: Dawntrail benchmark that adds various QoL tweaks. I made it primarily because nobody else was looking into modding the benchmark.
Ketamine Keep
date | February 2024 |
tags | rust, python, c#, modding, 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 |
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. I wrote this because I was upset with the existing one-click downloaders, and I wanted something to work on to get used to my split keyboard. I had to learn the (not well documented) GameBanana APIs and handle multi-threaded UI with egui.
goalnet
date | September 2023 |
tags | rust, c#, modding |
link | GitHub |
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. I specifically designed this for another project I was making, but I ended up not using goalnet, so it is mostly abandoned.
bottomlesspit
date | September 2023 |
tags | typescript |
link | GitHub |
A TODO list manager for Obsidian. After being unsatisfied using my friend’s similar project, I ended up making my own. It hooks into your TODO lists in Markdown, allowing you to configure metadata for each task (e.g. priority, due date). I used to use this plugin actively, but I stopped, as I no longer actively use Obsidian.
scraft
date | July 2023 |
tags | java, kotlin, modding, minecraft |
link | GitHub |
A Minecraft mod that turns your server into a bot playground. I was fascinated by the game Screeps, where the concept is to program and automate bots instead of interacting with the world directly. I teamed up with a friend from Server Scanning Inc to make something like this for Minecraft. Even though I lost interest in the project, it turns out other people continued to play on it!
blockbuild
date | June 2023 |
tags | bash, java, ci, minecraft |
link | GitHub |
A CI system to 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 | typescript, infra |
link | Source |
A web app for authentication and account management. It uses OAuth from other providers (e.g. Discord and GitHub) to create and manage accounts on NotNet’s LDAP server.
I wrote Gluestick over the course of a few weeks with Skip, learning Next.js in the process. I primarily led the backend code and authentication flow, while Skip designed the frontend.
Xande
date | April 2023 |
tags | c#, modding, ffxiv |
link | GitHub |
A library for FINAL FANTASY XIV models and skeletons. Xande uses functions from the Havok SDK in the FFXIV client to parse the Havok skeleton data, without requiring the developer to ship a copy of the Havok SDK.
I burnt out of Xande when working on it, so it is now maintained by Asriel and Ramen. While I never finished it, it served as prior art for Penumbra’s model authoring tools, and was used for Meddle.
Linkpearl
date | March 2023 |
tags | c#, modding, ffxiv |
link | GitHub |
A Dalamud plugin that adds positional audio (proximity voice chat) via Mumble. In 2024, I rewrote the entire plugin due to me being unhappy with a previous PR’s code quality.
GeezShade, DeezShade & GShade Patcher
date | February 2023 |
tags | c#, rust, ffxiv |
link | GeezShade, DeezShade, GShade Patcher |
Tools relating to GShade, a ReShade fork.
GeezShade and DeezShade were installers that used the GShade shaders/presets on a stock version of ReShade. GeezShade downloaded files from the GitHub CDN, but it was obsoleted by DeezShade when the download URL changed. DeezShade used C# reflection to call the installer code without having to reimplement the installation logic, which eventually led to the GShade Installer adding malicious code to shut off the user’s computer if DeezShade was detected.
GShade Patcher was a webpage allowing users to patch their GShade install to disable update checks. It simply read the uploaded file and patched some machine code in the DLL to disable the check.
These tools played a greater part in a series of FFXIV modding drama, which you can read about on my blog here and here. As a result, I became slightly well known in the FFXIV modding community, and I received about $200 in donations.
hugehugemassive
date | February 2023 |
tags | rust |
link | GitHub, CLI |
A Rust library (and CLI) to spin up and down servers using the Hetzner Cloud API. I was inspired by a previous friend’s similar project (named “bigbiglarge”), which was written in Python and designed for running ArchiveTeam scrapers.
bigcheese
date | January 2023 |
tags | javascript, python, modding, ffxiv, discord |
link | GitHub |
A Discord bot for FINAL FANTASY XIV reverse engineers. It effectively functions as a frontend to a headless Ghidra instance, allowing reverse engineers to do things like decompile functions without having to open a decompiler. The bot is written in JavaScript (using Node.js), but the Ghidra scripts are written in Python.
This bot sat in the XIVLauncher & Dalamud Discord server, but it is usually offline, because I had a hard time deploying Ghidra and keeping the game executable up to date.
plogon.dev
date | January 2023 |
tags | javascript, ffxiv |
link | Website, GitHub |
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. At its peak, it sustained over 1000 WebSocket connections at once on my home server. The website is written in raw unbundled HTML/JavaScript, and the backend is a simple Node.js WebSocket server.
rockstar
date | December 2022 |
tags | rust, lua |
link | GitHub |
A Lua script evaluator. My goal was to create a runtime for scripted automation (similar to AutoHotKey or Hammerspoon). While the project never got to that level, it was a fun proof of concept, and I ended up making some fun gimmicks with it.
loremipsum
date | October 2022 |
tags | rust, minecraft |
link | GitHub |
A distributed server scanner for Minecraft servers. It takes in a list of IP addresses and periodically scans them, storing their data over time.
loremipsum helped me find LiveOverflow’s Minecraft CTF server, where I met some like-minded people, and worked on a private fork of Parachute for solving the CTF.
loggy
date | August 2022 |
tags | typescript, ffxiv |
link | Website, GitHub |
A log viewer for Dalamud. It parses a custom .zip format used for troubleshooting, displays logs in one clean interface, and displays relevant info extracted from log lines.
Loggy is built with React and Tailwind, but I very quickly realized I do not like Tailwind. While it hasn’t seen an update in a long time, it’s still used actively by support members in the XIVLauncher & Dalamud Discord server.
ReSanctuary
date | August 2022 |
tags | c#, modding, ffxiv |
link | GitHub |
A Dalamud plugin for Island Sanctuary. After the release of Island Sanctuary, I was annoyed by navigating through the UI, so I made ReSanctuary to solve that issue for me. ReSanctuary was one of my first “big” plugins, and I wrote it in a few days when I was free from school, reverse engineering the new systems I needed in the process. As of writing, ReSanctuary has over 350,000 downloads.
tistow
date | July 2022 |
tags | rust |
link | GitHub |
An application launcher for Windows. I made this after being unhappy with PowerToys Run, Wox, and ueli. This was one of my first Rust projects, and I learned how to use egui while working on it.
Nowadays, I no longer use tistow, instead using the PowerToys Command Palette.
Plogon
date | June 2022 |
tags | c#, ci, infra, ffxiv |
link | GitHub |
The build system for Dalamud plugins. I contributed some small fixes and helped figure out GitHub Actions. While I’m not an active developer of Plogon, I know my way around the build system pretty well, and I help debug issues every once in a while.
Plogon is used in production at DalamudPluginsD17, powering over 6,000 commits and building hundreds of plugins.
Parachute
date | December 2021 |
tags | java, modding, minecraft |
link | GitHub, Modrinth |
A Minecraft mod I developed with my friends Cynosphere and adryd. Parachute has a collection of clientside quality of life features and tweaks.
Parachute was one of the first Minecraft mods I ever wrote, and I learned Java mostly through working on it. It originally started as an experimental playground for me to poke around Minecraft internals in 2021. We rewrote the entire codebase and open sourced it, turning Parachute into the collection of tweaks it is today.
Parachute was worked on throughout 2021 and 2022. Sometimes, I will update Parachute for the latest Minecraft version, but it is usually unmaintained otherwise.