lipu pi jan Jalu

toki mi jan Jalu

Hi there! You can call me jan Jalu (/jan jalu/), jan Sante, YAL, or Xander. I'm a computer science and game development student at USC, and an aspiring Rustacean. Outside of my studies, I'm also into recreational mathematics, linguistics (big surprise for someone using toki pona names and Noto Serif, I know), music theory, and speedrunning Legend of Zelda games.

pali mi (projects)

Here are some personal projects and open-source contributions I've made through the years. Many of them relate to Skyward Sword, my favorite game in the Legend of Zelda series.

ssgz (Skyward Sword practice ROM)

ssgz is my most recent Skyward Sword-related project. Inspired by twwgz and tpgz, it is a practice ROM hack for speedrunners and researchers. Users can open a custom menu in-game to access practice tools. Key features include...

Working on gz has helped me greatly with learning Rust. Similar to the randomizer, much of the game's patches are written in Rust (compiled to PowerPC assembly with build scripts) or raw assembly. I decided to write the patcher (the command-line or GUI utility that patches the game) in Rust, partially for learning purposes, and partially to speed up the process of extracting, patching, and repacking the game.

Gallery (scroll to see more)

Patcher GUI

GUI for the patcher program

In-game menu

The in-game menu

Loading a practice save

Example trick: Wing Ceremony Cutscene Skip checker

Skyward Sword Randomizer

The randomizer for Skyward Sword first released in October of 2020. I got introduced to it in the following January and was promptly hooked. At the time, I was still in high school, and I had taken an interest in programming. Come September, I decided to try my hand at open-source contribution for the first time and submitted my first pull request for a small feature addition. With the guidance of other developers, I got more comfortable with the codebase and working on more complex features. Among my favorite tasks were...

As a staff member for the Skyward Sword Randomizer Racing community, I am responsible for coordinating randomizer development and streamlining the competitive experience. For instance, I developed Hint Importance in anticipation of the Season 3 tournament, having seen positive feedback for similar features in other Zelda randomizers.

Gallery (scroll to see more)

Chest Dowsing

Pinging a chest...

Triforce

...to get a Triforce!

Hint Importance

Examples of hint importance

I've also gotten to contribute to the aforementioned web tracker, a tool for tracking game progress while playing the randomizer. In particular, I added a new UI for location tracking based on the game's world map:

Map Tracker

The map-based location tracking UI

Archipelago (Multiworld) Support

In early 2025, fellow randomizer contributor Battlecats59 started work on an implementation of Skyward Sword Randomizer for Archipelago, a platform for cross-game randomizers. I offered to help shortly after, and have been working with him towards getting the game officially merged in. Recently, thanks to some earlier Wii networking experiments by lead randomizer developer lepelog, I added console support to SSR Archipelago. The modified game code opens a UDP server on the Wii, allowing the player to connect their console to their multiworld client. This is the first Wii game to have support for multiworld randomization on official hardware!

Gallery (scroll to see more)

Original console proof of concept video

AP seed completed on console

The very first AP seed completed on Wii!

I also deployed a fork of the web tracker that automatically tracks locations and items by connecting to the multiworld server.

Archipelago Tracker

Screenshot of an Archipelago tracker open with the text client

pali ante (other work)

Some other projects I've worked on are...