Work
Previously 2019-2021
Uplift Games
Senior Systems Engineer
Systems engineer creating libraries, frameworks, and games! Uplift Games is the development studio behind the hit Roblox game, Adopt Me!, with more than 60M monthly active users!
Previously Mid 2019 - Late 2019
Roblox Corporation
Web Engineer // Information Experience Remote Contractor
Web engineer primarily focused on the Roblox Developer Hub.
Previously 2016-2019
ekiwi, LLC
Software Engineer
Web, SQL, Sysadmin, REST, Android & iOS, Java, JavaScript, TypeScript, PHP, React, React Native, Beanshell, Git, SVNwww.screen-scraper.com
Website development, database management, systems administration, creation and maintenance of internal frameworks, phone apps, web scraping in Java and Node.js
Games
Aquaman: Home is Calling
2018, Roblox, LuaRoblox Game
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.
Services
Scripting Helpers
2013, Web, PHPwww.scriptinghelpers.org
Roblox scripting Q&A community with over 25,000 members.
Votum
2018, TypeScriptGitHub
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.
Libraries
Aurora
2018, LuaGitHub
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
2018, LuaWebsite, GitHub
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
2019, LuaWebsite, GitHub
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
2018, LuaGitHub
Bubbles are mixin-style objects presented as an alternative to classical-style inheritance for Lua.
Roblox Lua Algorithms
2018, LuaGitHub
A repository of generic algorithms intended to be used within the Roblox game engine
EvLightning
2016, LuaGitHub
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.
Tools
Roblox FFlag Watcher
2018, Web, Node.js, TypeScriptfflag.eryn.io
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 Transfer
2018, Node.js, TypeScriptGitHub
Command line tool that transfers Roblox animations from one owner to another.
roblox-ts
2018, Web, Node.js, TypeScript, LuaWebsite, GitHub
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 Size
2018, LuaGitHub
A Roblox plugin that gives you the pixels size of a Roblox image asset
Radial Sprite Sheet Generator
2018, TypeScript, React, LuaWeb App, GitHub
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.
Graveyard
RbxSync
2016, Node.js, Electron, JavaScriptGitHub
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.