Programming Projects ▼

This page is for projects that aren’t games that I’ve created in my spare time. These range from small and simple coding projects to mobile apps.

Recyclops (Android, Java)

Recyclops is an award-winning app made for UCSC’s Hackathon, where participants were tasked to create a “hack” in less than 48 hours and were then judged in one of 3 categories. For more information on it, click the link!

HEX (C++, Monte Carlo AI)

Hex was originally a project for the Advanced Programming course at UCSC in which the player plays a game of hex against an AI player that uses Monte Carlo to simulate 1000 games for every possible move the AI can make, then makes the move with the most “favor” depending on wins and location to important areas on the board. I’ve since updated it to run more smoothly and efficiently, outside of college, and am currently using the framework to test my skills in other areas.

Discord Red Bot Custom Changes (Python, JSON, Discord API, Github, OOP and message parsing)

I’ve been doing some for fun coding in my spare time for the Discord Red Bot, which was created to enhance Discord’s features and help manage servers. Discord is a voice/text chat interface made for gamers in mind, but is also very useful for communication for pretty much any group since it’s easy to use and functions much like a mix of Slack and Skype. Server admins can use bots, such as Red DiscordBot, to further add features to Discord specific to the server’s tastes. The bot’s code is open for everyone to see and uses Discord’s API, so I’ve been making changes to it to help a server that I frequent’s needs by adding commands and features

The Ego Cog is an extension which is loaded into the bot and has it’s own set of commands. It creates its own JSON file and stores user information that it’s given from other users. Features include:

  • Storing quotes from users that can be picked from at random or specifically searched through
  • “Cheering” a user via a points system, similar to liking a post but with limits in order to give cheering another user meaning
  • Adding random stats to a user in order to track how many times they’ve done something, or just fun little jokes

Custom Commands that I’ve added that aren’t part of the default bot include:

  • an updated !roll command, which instead of only giving a random number up to the one provided now can roll any number of any number of sided die and do basic calculations with them. This is mostly for quick stats checking or testing for balancing, which comes up a lot in the servers I frequent. For example:
    •  !roll 3d20 + 8 *3 will “roll 3 20-sided dice” (pick a number from 1 to 20 3 times), add the result, add 8 to that, and multiply it by 3


Programmer, Game Designer