Portfolio
Projects
- Caches known GPU state on the CPU.
- Automatically disregards redundant API calls.
- Completely abstracts away binding points.
- Provides sensible default parameters to simplify common operations.
- Hides vestigial parameters.
- Written in TypeScript with TSDoc comments that are used by TypeDoc to generate documentation.
- Includes a fast linear algebra API that is optimized for physics- and graphics-related operations.
- Includes a slow linear algebra API that is optimized for developer experience and performing unlimited-dimensional operations.
- Has a more intuitive interface and is faster than alternative libraries.
- Written in TypeScript with TSDoc comments that are used by TypeDoc to generate documentation.
- Color space conversion between most popular color spaces, including sRGB, CIE 1931 XYZ, CIELAB, CIELUV, and Oklab.
- Name lookup in all of the most popular color name dictionaries.
- Color comparison functions that are intended to be perceptually uniform, including CIEDE2000, CIE 1976, and ΔE* 1994.
- Color blindness simulation.
- Written in TypeScript with TSDoc comments that are used by TypeDoc to generate documentation.
μGL
A lightweight low-level WebGL2 library that includes a variety of classes that are useful for developing two- and three-dimensional games, animations, and simulations. Designed to simplify the developer experience while reducing unnecessary calls to the GPU.
μMath
A lightweight math library that includes a variety of common functions, especially concerning linear algebra transformations.
Gauntlet Championship Series Website
The website for the Gauntlet Championship Series, which is a League of Legends draft league. Primary features include statistic collection, storage, and display, roster management tools, and match scheduling tools.
The website uses Next.js (React), a PostgreSQL database with Drizzle as an ORM, Sass modules for styling, and TypeScript.
lakuna.pw
My personal website since November 13, 2017.
The website is written fully in TypeScript and uses Next.js (React) as its framework. Styling is done with Sass modules.
The website primarily features my portfolio (you are here) and blog.
Various (usually programming-related) blog posts can be found on the blog page.
Prepare Moderately

A RimWorld mod that allows players to re-roll pawns until they meet user-defined criteria. Written in C# with Harmony and fully backwards compatible since version 1.0.
μScene
A scene graph implementation using μMath and designed to be used with μGL. Includes utilities for sorting the objects in the scene in proper rendering order. Written in TypeScript with TSDoc comments that are used by TypeDoc to generate documentation.
Color
A library for performing various color-related operations.
React Canvas
A React canvas element that supports a built-in animation. Designed for use with μGL or WebGL in general. Written in TypeScript with TSDoc comments that are used by TypeDoc to generate documentation.
Poseidon

UIC's 2024 submission to NASA's Lunabotics Challenge, named for the Greek god of earthquakes due to its key unique feature: an industrial sand vibrator.
I joined the team after most of the initial design work had concluded in order to focus on automation. My primary contributions were to computer vision research, part selection, and the outreach portion of the competition.
The rover's code was written in Python with ROS 2 Humble Hawksbill.
You can find UIC's article about the rover here.
Elytra Trinket

A Minecraft mod that allows players to equip Elytra at the same time as a chestplate. Written in Java with the Fabric mod loader and the Trinkets API.
Xanycki's Portfolio
Xanycki's art portfolio, written in TypeScript with Next.js (React).
Well Met

A RimWorld mod that hides pawns' traits until you get to know them. Written in C# and fully backwards compatible since version 1.0.
RimWorld Christmas Hats

A version 1.x port of Drizzly's Christmas Hats mod for RimWorld. Written using only XML and fully backwards compatible since version 1.0.
Work Experience
Nitel

I work as a software engineer at Nitel, focusing primarily on developing integrations. This includes both internal-facing projects such as active directory synchronization and external-facing projects such as revamping the proactive alerts system to notify over 6,600 clients about network outages in real time.
Most of my projects were written in TypeScript, JavaScript, and C#, with some additional use of SQL, SOQL, and Apex. The primary methodology used by the development team was Scrum.
CodeHS

I worked as a software engineer intern at CodeHS where, among other things, I implemented the Scratch sandbox, which is used to start teaching elementary school-aged children how to code.
Other projects that I made significant contributions towards include the new sidebar, user settings page, course completion certificates, and various internal tools.
While working at CodeHS, I wrote most of my code in Python (Django), JavaScript, and TypeScript. The development team used the DevOps methodology and made frequent use of Extreme Programming practices such as pair programming.
Edikt Studios

I worked as a software engineer intern at Edikt Studios, which is a video game development studio created by my high school teacher in order to give computer science students internship experience. During my time at Edikt, I made extensive use of the Scrum methodology and served as Scrum master on a variety of projects. Most projects were written in C# with Unity.
PDX

I worked as a software programmer intern at PDX, where my primary task was to fix user experience-related bugs in the Java Swing front end of the Enterprise Pharmacy System (EPS).
School Projects
JavaScript Ray Tracer

A simple ray tracer that uses the canvas 2D API to work in the browser. Written entirely in JavaScript.
WebGL City Viewer

A JavaScript program that can load map data to create a 3D model of a city. Includes simulated shadows via shadow mapping. Written in JavaScript and GLSL.
Magic Missile Wizard Duel

A physics-based multiplayer artillery game that is somewhat similar to a mix between Worms and Clash Royale. Written in TypeScript and GLSL.
Rise of Civilizations

A stripped-down Civilization clone, developed in Unity with C#. Features a cellular automaton-based procedural map generator.
Residuum
A combination factory management and tower defense game inspired by Factorio. The game can be played in augmented reality on tiles that can be placed in the real world or in a simulated environment on devices that don't support augmented reality. Developed in Unity with C#.
Developed in collaboration with Griffon Hanson and Ty Morrow.