Currently Since 2019
Adopt Me! by DreamCraft
Systems Architect / Engineer
Systems engineer creating libraries, frameworks, and games! DreamCraft is the development studio behind the hit Roblox game, Adopt Me!, which has amassed over 3.2 billion plays and currently holds the record for most-concurrent players in a Roblox game at over 640,000 players!
Previously Mid 2019 - Late 2019
Web Engineer // Information Experience Remote Contractor
Web engineer primarily focused on the Roblox Developer Hub.
Website development, database management, systems administration, creation and maintenance of internal frameworks, phone apps, web scraping in Java and Node.js
Aquaman: Home is Calling2018, Roblox, Lua
Aquaman: Home is Calling is a multiplayer MMORPG-esque underwater experience wherein the player becomes Aquaman to overcome trials to become the King of Atlantis. This game was sponsored by Warner Brothers and produced by Roblox in order to promote the then-upcoming Aquaman film. Working as part of a team for several months, we implemented custom solutions to problems like underwater pathfinding with navigation mesh generation, enemy AI, a polymorphic Unit system to model any combatant (be it a player or an AI-controlled NPC), and a state management system named Aurora.
Scripting Helpers2013, Web, PHP
Roblox scripting Q&A community with over 25,000 members.
Votum is a Discord bot for managing small party voting systems such as a council or small group who want to deliberate on matters democratically. It allows council members to create “motions”, which can then be voted upon and passed by the other councilors.
Aurora is a library that can manage status effects (known as “Auras”) in your Roblox game. These Auras are much akin to “buffs” and “debuffs” as seen in many games. Using Aurora can help you stay sane while managing complex game state when multiple parts of your game need to keep track of or change the same resource. It’s like Redux, but for games!
Cmdr is a fully extensible and type safe command console for Roblox developers. Cmdr is designed specifically so that you can write your own commands and argument types, so that it can fit right in with the rest of your game. In addition to the standard moderation commands (teleport, kill, kick, ban), Cmdr is also great for debug commands in your game (say, if you wanted to have a command to give you a weapon, reset a round, teleport you between places in your universe).
Rocs is a progressive entity-component-system (ECS) library developed for use in the Roblox game engine. Rocs also performs the role of a general game state management library. Specifically, Rocs facilitates managing resources from multiple, unrelated places in your code base in a generic way.
Bubbles are mixin-style objects presented as an alternative to classical-style inheritance for Lua.
Roblox Lua Algorithms2018, Lua
A repository of generic algorithms intended to be used within the Roblox game engine
EvLightning is a Roblox Lua library that aims to generate realistic-looking lightning bolts out of Parts. This could be used to easily add lightning strike effects to your game.
Roblox FFlag Watcher2018, Web, Node.js, TypeScript
Tracks history of Roblox Fast Flag changes. Fast Flags are what Roblox uses internally to enable or disable features in production servers and clients.
Roblox Animation Transfer2018, Node.js, TypeScript
Command line tool that transfers Roblox animations from one owner to another.
roblox-ts2018, Web, Node.js, TypeScript, Lua
roblox-ts is a TypeScript-to-Lua transpiler made for Roblox, co-authored with Osyris. It was made out of necessity for type safety when making games on Roblox. It features has auto-generated type declarations from the Roblox API dump, NPM support, and robust design.
Roblox Image Size2018, Lua
A Roblox plugin that gives you the pixels size of a Roblox image asset
Radial Sprite Sheet Generator2018, TypeScript, React, Lua
RadialSpriteSheetGenerator is a project that generates radial sprite sheets (what a surprise!). It is another project born out of necessity, because Roblox doesn’t support clipping masks for images. It can generate a stereotypical “loading ring” or “circular progress indicator” out of any image you choose, paired with a Lua module that lets you pass in a percentage and it will autonatically pick the closest image from the sprite sheet.
RbxSync was an open source Roblox plugin that easily integrated any third-party code editor or IDE, such as Sublime Text, Notepad++, VS Code, or Atom, into ROBLOX Studio. I have since dropped support for it in favor of Rojo and a VS Code extension I made for it.