Photokeep

Photokeep is an image-hosting Discord bot that allows users to upload photos/files and organize them with folders. This way, users can easily share photos with their friends and family, without clogging up space on their hard drive. All they have to do is type a simple command to the bot, and Photokeep does the rest. Not only this but, there is also a companion website that allows the user to view their photos and folders on the browser.

This bot was developed with C#, DSharpPlus for the Discord API, Azure Cosmos DB for the database and Azure App Services for the hosting.

The website was programmed with ASP.NET (MVC) and the Discord Authentication API (OAuth2).

Photokeep taught me how to manage a large web project with a database that serves over 160 users with hundreds of images, in an efficient manner.

Folderity

Folderity is a fast and lightweight music player for Windows that allows users to create custom playlists in folders on their computer that automatically update when a song is added or removed from the folder. This is very convenient for anyone who has a large collection of music files (MP3's, WAV's, etc.), since it allows the user to automatically organize their music into playlists without having to manually add songs to the playlist one at a time.

This app was programmed with C++/WinRT and WinUI 3. The music player component was programmed using Microsoft Media Foundation (MMF). MMF is the modern Windows multimedia framework and using it required a deep understanding of COM objects and the Windows Audio Stack. To simplify its use, I created a helper library called MMFSoundPlayer to make it easier for programmers to play audio files in their apps.

Folderity is currently available on the Microsoft Store.

Huffman Compression Suite

Huffman Compression Suite is an app that allows users to losslessly compress and decompress their files using the huffman coding algorithm

This app was programmed in C++/WinRT and WinUI 3. Making this app taught me how to use complex data structures and manage its memory correctly, in a real app outside of school.

MineMaster

MineMaster is a remake of the classic Windows XP version of Minesweeper that we all know and love. MineMaster was previously on the Microsoft Store and had 12,570+ downloads. However, it is now available as a Blazor WebApp, for anyone to play.

This desktop version of the game was programmed with C# and WinUI 3. The web version was programmed using Blazor and hosted on Azure App services. For programmers, the game's logic is available as a separate NuGet package called Minesweeper Library that anyone can download, hook into a UI and instantly have their own port of Minesweeper working on any platform that supports .NET, such as Windows, Mac, Linux, Android, etc.

MineMaster taught me how to write clean and modular code that separates all of the game's logic from its UI code. This was mandatory since I created Minesweeper Library as a separate NuGet package for the logic of the game. This also taught me how to write a library with interfaces that other programmers can easily understand and use in their own projects.

Discord FileMaster

Discord FileMaster is an app that allows the user to split large files into 8 MB chunks for upload to Discord. It can also merge the 8 MB chunks back together. This is very useful for users who wish to upload large files to Discord, but are unable to do so because Discord has a 8 MB file size limit.

The file splitting and joining component of the app was developed as a seperate NuGet package called, FileMaster Library. This library allows programmers to easily split files into any size chunks they want and join them back together. The library made the code behind the app very clean and modular.