Portfolio

Check out the work I've done over the years and the apps/games I've published.

Alidade

Get on the App Store

Alidade is a free and open-source mapping application for iPhone, iPad, and Mac that lets you navigate and explore worlds for Minecraft: Java edition. Maps are stored as documents that you can edit and share with others easily, and you can customize your maps with pins of landmarks of personal significance. And, if you have Minecraft server plugins such as Bluemap, you can view player locations and server-side landmarks easily in-app.

I built an app to navigate my Minecraft forever world.
Minecraft has been a staple childhood game for me, and it’s something I play every now and then. I came across a video for starting a “forever world”, and I set up a quick Minecraft server for myself. Since then, I’ve played more frequently… and I made a companion app to go with it.

Check out how I made Alidade and released it to the App Store.

Give Me a Sniglet

Generate singlets with verification backed by machine learning.

Get on the App Store

Give Me a Sniglet is a random word-like generator with an on-device machine learning model that validates whether the word is likely to be valid. Generate a set of words and view various confidence score, and copy them to your clipboard with a single tap. Customize the algorithm by changing the size of the words and syllable shapes.

Give Me a Sniglet is supported on iPhone, iPad, Mac, and Apple Watch.

Fedigardens

Enjoy a simplified, discussion-driven experience for Mastodon on iPhone and iPad.

Fedigardens was an experimental Mastodon client application for iPhone and iPad. The app stemmed from a capstone project I completed in college about humane social media design, and it aimed to further this concept while providing a native Apple-like app experience. The result was an experience that felt similar to Apple's Mail and Messages apps, offering a more intentional social media experience. Fedigardens also aimed to correct mistakes I made when developing the Hyperspace Desktop app.

Introducing Fedigardens, and why I’m not fond of Hyperspace Desktop
The app space for the fediverse was sparse when I started working on the Hyperspace project back in 2019. Although there were a good handful of clients on mobile and a couple decent web interfaces, I felt none of them were fully suitable for college students to use.

In late 2024, I announced that I was taking a hiatus from developing the app due to complications with the Fediverse and lack of motivation to finish the project. The app was available for testing through the TestFlight program for free.

I’m taking a break from the fediverse.
I’m taking a break from the Fediverse, as I can’t quite get myself up to start fresh and harshly curate my social media feeds.

Hyperspace Desktop

The fluffiest desktop client for Mastodon and the Fediverse.

Hyperspace Desktop was a Mastodon client I made with a few friends in an attempt to make Mastodon more approachable to college students who were unfamiliar with decentralized social media platforms and the Fediverse. The UI and UX were designed to be as newcomer-friendly as possible, sporting a masonry layout for posts, responsiveness across the web, and more.

Hyperspace Desktop was created with React and Electron, and it had desktop apps for Windows, macOS, and Linux, along with a web-deployable version ideal for managed or enterprise instances. There were plans to re-write the app to use Kotlin and Jetpack Compose, along with native versions for Apple's platforms, but the prototypes never finalized into released products.

So, uh, I made a client for Mastodon
Hey guys! It’s been a while since I made a post here, but don’t worry; I’m not dead, and neither is this blog! I’ve just been busy with a few things lately, and I think you may want to take a look.

Unscripted

Choose your route. Take on your developer dream in Catalina City. Make new friends and enemies. Get your game published.

Check it out

Take on your developer dream in Catalina City in Unscripted! Follow the journey of a software developer aspiring to publish their video game into the PackStore's prestigious arcade while starting a new life in Catalina City, the city for software developers. Reconnect and meet close friends like Zen'no, new peers like Katorin, the Kotlin-loving developer, and possibly new enemies like Christina, an enigmatic Python developer.

Unscripted is available on Steam, Itch.io, GameJolt, and DLSite.

Unscripted: a post-mortem
Good writing is difficult; between getting the occasional writer’s block and articulating everything in just the right way, it can be tricky to write a story that captivates readers. I ended up discovering all of this when I set out to create my first commercial game and visual novel, Unscripted.

The Costumemaster

Switch costumes. Solve puzzles. Wake up.

Check it out

Acclaimed software engineer and costume designer Zephyr Emerson wakes up from a long and unexpected nap, realizing she's still got her flash drive costume on. Realizing part of the zipper is broken, she needs to get to her home office in the other room to fix it. But she keeps waking up over and over again, with her surroundings changing. Can you solve the puzzles and make it to the home office in time?

The Costumemaster is a puzzle game that I originally designed to research creating machine learning and artificial intelligence models that could solve puzzle games. The original game leveraged SpriteKit, GameplayKit, and CoreML, and it also supported achievements through Game Center. While that research didn't prove helpful, I did recreate the game with the Godot engine and expanded availability to more platforms outside of macOS.

Three things I wish I did with The Costumemaster
For the Fall 2020 semester, I developed a game for macOS called The Costumemaster. Suffice to say, it didn’t work as intended, and I didn’t get anywhere exciting with it. However, I did play with machine learning in the final weeks of the semester.

Indexing Your Heart

Solve cryptic language puzzles in the mountains of New Rollinsport. Discover your identity.

Check it out

Indexing Your Heart is an upcoming hybrid Witness-like puzzle game and visual novel. Follow Chelsea Roslyn, a lovable anthro-coyote, as she explores the mountains towering over New Rollinsport and meets a mysterious obelisk creature with an existential crisis. Learn the [ʔaʃaʃat] language with cleverly crafted puzzles and understand the mysteries of the obelisk.

Game Jam Entries

You may also be interested in some of the smaller games I've made for game jams.

View game jam entries
  • Project Guirrero was an experimental Playdate game created for the Rae Jam 2025 where I wanted to learn the Pulp tool for making Playdate games. It played similarly to Lorelei and the Laser Eyes and Chants of Sennaar, deciphering a constructed language to open doors and solve puzzles.
  • Package Resolved was a game created for the 132nd Trijam where you needed to fulfill delivery requests by collecting all the required packages in a short amount of time. The title got a small Playdate port as a way for me to learn the SDK.
  • Planting Uneasy Feelings was a game created for the 36th Godot Wild Jam with the intent of trying out the then-experimental Godot Kotlin bindings. When Claris discovers that Tom, her manager, has cut but budget for her team's latest project, she devises a scheme for revenge; inflict a curse that turns everyone into trees. Are you able to inflict the curse and find the ones that will spread it uncontrollably?
  • Bug Bounty was a small game created for the 129th Trijam where you have to find bugs on the screen and quickly get rid of them. This allowed me to explore more of Godot, the world of shaders, and the built-in code editor control.
  • No Love is a game written in Python about relationships, where to give up on relationships is to win, and to succeed in getting one is a failure. Can you drain yourself and give yourself pale shelter, or will you fail? Built for the 3rd Wowie! game jam, I quickly got to explore Pygame and put my development skills to the test.

CTA Image

I've also done some cool things with the Playdate game console that you may be interested in checking out!

Learn more