
A daily game (like Wordle) where the user has to guess a blurred Pokémon card. Card gets less blurry as user guesses. Gets card data from the Pokémon TCG API and stores it in a MongoDB database for less calls to an external API. Also uses MongoDB to store previous days' cards so users can play previous days.
Built using React/Next and Tailwind.

A Discord economy bot with minigames, stocks, trading, and more. Designed to be run as a Docker container and can be modified using JSON configuration files. Stores information in a MongoDB database and uses Decimal.js to manipulate large numbers and allow for Decimal128 numbers to be reached.
Built using discord.js and TypeScript.

A fork of swemu-plus-plus by ironandstee1 to shiny hunt using the fast-travel method and different macros in Pokémon Legends: Z-A. Uses a ATMega32U4-based Arduino board and a 3D printed 5x5 button matrix to send inputs to a Nintendo Switch (2) console.
Built using C++ for Arduino.

A modern interface for connecting to game servers using the RCON Protocol. Uses a SQLite database to store information for multiple servers, including encrypted login information, command history, and favorite commands. Able to be run as a Docker container using the included Dockerfile and docker-compose.yml files.
Built using React/Next and Tailwind.

A Deal or No Deal web game built with a modern framework. Uses game logic from NBC's Deal or No Deal flash game from 2008 to determine banker offers (credit toDave Gentile and Kevin Huculak).
Built using React/Next and Tailwind.

A port of the game Dice 10000 to web. Uses Socket.io to create private online rooms to be able to play with others over the internet.
Built using Node.js, JavaScript with Babel and Gulp, and HTML/CSS with Handlebars and SASS.

A "Who's that Pokémon?" webgame. Pokémon images taken from Bulbapedia using ImageScraper and manipulated using either Canvas (if on desktop) or CSS image filters (if on mobile).
Built using Node.js, JavaScript with Babel and Gulp, and HTML/CSS with Handlebars and SASS.

A Pokémon TCG pack opening simulator. Uses the Pokémon TCG API to get card/set data, and pull rate data from various sources in an attempt to be accurate to each set's own pull rates.
Built using Node.js, JavaScript with Babel and Gulp, and HTML/CSS with Handlebars and SASS.

Connects to Sonarr and Radarr APIs to display movies and shows currently available or requested on each service.
Built using React/Next and Tailwind. First project using Next.

A Dragon Ball Z-themed audio visualizer project. Audio frequencies are displayed using HTML5 canvas in conjunction with an audio context object.
Built using JavaScript, Bootstrap, and HTML/CSS. Team project with Iseult Marshall.
