Hey! That's this site!

2021 - Present

Next.js | Vercel | React | TypeScript | Supabase | Luxon | GitHub | TailwindCSS | Zustand | PostHog

This site was built using Next.js, React and TypeScript while using Supabase as a backend database. Originally I used WordPress to handle everything but it didn't meet the performance requirements I wanted. This encouraged me to find other options, one of which was building my own using Next.js.

  • Developed with Next.js and Supabase, ensuring a robust and efficient web experience.
  • Transitioned from a custom backend API and MongoDB to Supabase for easier maintenance and rapid feature development.


My LinkTree alternative

2022 - 2022

Next.js | Vercel | React | TypeScript | GitHub | Express.js

Using Next.js I built a LinkTree alternative. A place for users to share a single link to all of their socials, and other links, in one place. Originally built using my own backend, users could create new links, edit them, and delete them. I later migrated to Supabase to make it easier to maintain and develop new features. This project is currently on hold while I handle a few other projects but I want to return to it soon!

  • Developed with Next.js
  • Used my own API using Express.js


A Discord bot that provides a variety of features.

2022 - 2022

Node.js | Discord.js | MongoDB | GitHub | GitHub Actions | Supabase

SenseBot is a Discord bot I made using Discord.js. It has a variety of features such as a leveling system, moderation tools, and a currency system.

  • Originally used MongoDB to store user data and settings before migrating.
  • Utilized Discord.js to interact with the Discord API.
  • Implemented a currency system and a leveling system.


Initially built with Unity and rebuilt years later using React Native and Expo.

2020 - 2021

Expo | React Native | Express.js | MongoDB | Github | Github Actions | Luxon | Expo Notifications | Redux | Supabase

Tappr is a small game I made where the user taps a button on the screen to reach a high score. While I finished development in 2021, this is something I always return to. I treat it like a playground for me to test my skills and try out new things.

  • Established a seamless infrastructure using Express.js and MongoDB.
  • Implemented a friends system and added a competitive element as daily, weekly, and monthly leaderboards.
  • Incorporated websockets to establish real-time connections between the client and server.

R6 Phoenix

A Discord bot to show a users Rainbow 6 Siege stats.

2019 - 2019

.NETCore | DSharpPlus | GitHub | MongoDB

R6 Phoenix was an old Discord bot I made using DSharpPlus. I built it after a platform that was used to show user's their stats had to, unfortunately, stop operations. It was designed to show a users Rainbow 6 Siege stats. It was very basic, you'd enter a username and it would fetch the stats from Ubisoft. When a user was searched for I cached the username and stats in my own database to speed up query time, I ensured to only allow updates every few hours for a user to prevent spamming Ubisoft's servers and ensure performance.

  • Used MongoDB to cache player stats.
  • DSharpPlus allowed the bot to send and receive messages from Discord users.

Wednesday Bot

A meme discord bot I made.

2019 - 2019

DSharpPlus | .NETCore | GitHub | GitHub Actions

A simple bot that would notify users when it is Wednesday, my dudes.

  • Used DSharpPlus to interact with the Discord API.

EGL Project Path Manager

A tool to help manage your Epic Games Launcher projects.

2019 - 2019

WPF | .NETCore | GitHub

The EGL Project Path Manager is a tool I built to help manage my EGL projects. It was built using DotNet and WPF. The Epic Games Launcher doesn't, at the moment, have a way to select paths to look in when searching for Unreal Engine projects. This ends up in the EGL not being able to see your project, preventing you from managing the project from EGL and adding marketplace assets automatically. This can be fixed by adding your project directory to the EGL config file, however, this tool is designed to make that easier and faster. It isn't much, but it gets the job done.