Projects

A list of the major programming projects I have worked on.

The projects I've worked on are various in scale and are created in many languages and for different purposes. Each entry has links to their source code on GitHub, and, if applicable, a direct download link.

Every project I work on, I learn something new - whether that's a fantastic library, a fundamental of programming, or just... how to do things! And what to Google, of course... anyways, this page will see regular updates with any new projects I release.

Sage


View Source/More Info

Sage is an all-in-one Discord bot used to manage the University of Delaware Computer/Information Science department's official Discord server, which has over 1,500 members including both students and professors. The bot and the server are maintained by four university undergraduates, including myself, on behalf of the college's CIS department.

The bot has many features to enhance the learning and college community experience, including but not limited to:

  • Self-assignable class roles that grant access to class-specific general and help channels, giving students greater access to course help, something which other majors don't have.

  • Private/anonymous questions related to coursework can be submitted by students.

  • Fun commands to enhance chatting, such as coin flipping, dice rolling, and rock-paper-scissors.

  • The ability to set reminders at specific times/intervals through bot commands.

  • Miscellaneous utilities such as poll creation via command.

  • ...and much more!

I've been a member of the Sage team since 2021, having joined in my freshman year of college. I'm responsible for adding new features to simplify the bot's use while enhancing the user experience, and of course, fighting the occasional fire.

Practice Handbells


More Info

I was involved in the software development of Practice Handbells, a product that provides a cost-efficient way to practice handbells at home without having to buy an expensive, full set of real bells. These utilize components and the IDE of Arduino, an open-source electronics platform.

Journal Manager


View Source/More Info

A Windows Forms application that allows the user to write journal entries, save them locally, and view them later.

TS Readme Generator & Scenario Packager


Download

View Source/More Info

A program that not only packages TS scenarios efficiently and quickly into a folder, but also automatically writes the scenario README based on scenario properties and user input.

TS Background Changer


Download

View Source/More Info

Software that allows the user to change the menu background of Train Simulator 20XX.

AP Preload Shortener


Download

View Source/More Info

A program that shortens the consist names for Armstrong Powerhouse add-ons in the quick drive menu for ease of readability. Developed to support future releases without the need for an update.

img2pi


View Source/More Info

Displays a jpg/png image on a Raspberry Pi's sense hat.

Asteroids


View Source/More Info

This is a recreation of the Atari game Asteroids, made in Python using the Designer.py library. Created as a final project for a university class.

Birthday Bot


View Source/More Info

Discord bot that announces user-inputted birthdays in a guild. Users can enter their birth month/day and optionally year and on their birthday, a message will be automatically sent in a channel specified in the .env file, wishing that user a happy birthday.

ZUSI Stock Swapper


View Source/More Info

A GUI application that allows for easy, basic stock swapping for trains in ZUSI 3: Aerosoft Edition. Also features basic German localization.

This will soon allow the user to more intricately modify consists by adding/removing components and reversing them.

Emojilang


View Source/More Info

A fake programming language based on Python, using its syntax, except with core functions and keywords using emojis instead! Specifically this includes a C# Windows Forms program that serves as a very basic pseudo-IDE for the language, featuring the ability to save files and run them within the program.

This project is currently heavily work-in-progress. More updates are to come soon to improve the program.

Final Grade Calculator


View Source/More Info

Based on known grades/weights and the weight of an unknown grade, this Python script calculates the unknown grade needed to get a target final grade, as well as the highest/lowest possible grades that can be achieved, and a programatically-generated graph that shows the final grade that will be achieved based on the value of the unknown grade.

SEPTA Tracker Discord Bot


View Source/More Info

This is a Discord bot that scrapes SEPTA's TrainView at regular intervals and returns delays for user-inputted train services (3 or 4 digit numbers) in the form of a rich embed. Its feed updates automatically every two minutes.

This project was, effectively, my intro to GitHub, introducing me to its core features such as commits/pushing, branching, issues, and merging.

Discord Translate


Download

View Source/More Info

A bot that uses the Google Translate API to translate both user-provided strings (through commands) and contents of other messages (through context menus) to any language that Google Translate supports.

img2pi


View Source/More Info

Displays a jpg/png image on a Raspberry Pi's sense hat.

Asteroids


View Source/More Info

Displays a jpg/png image on a Raspberry Pi's sense hat.

Hellfire Miles


Download

View Source/More Info

Intended to complement Mike Wright's Hellfire 3 this program was written as a personal project that allows for a more organized list of moves (aka, a journey behind a loco or in a unit from one destination to another) that the player has done over various games (or as the game calls them, weeks).

It was created with RailMiles in mind, following a very similar layout where the user can view their all-time journeys, as well as number of miles behind each loco/class, and a ranking of each class sorted by total miles. This program also features import/export, where the user can export their moves list/data as a .hfm file. Other users can import .hfm files to view journeys, or to compare their statistics with their own using the Compare Stats/Compare Miles feature.

ZUSI Stock Swapper


View Source/More Info

A GUI application that allows for easy, basic stock swapping for trains in ZUSI 3: Aerosoft Edition. Also features basic German localization.

This will soon allow the user to more intricately modify consists by adding/removing components and reversing them.

F1 Announcer Bot


View Source/More Info

A Discord bot that announces if there is an F1 race or qualifying race on the current day. This totally wasn't created so I can avoid Discord voice chats if there's a race going on, since I'm not really interested in F1...! :)

Pokemon Stat Calculator


View Source/More Info

A dabble into GUI programming in Python, using the Tkinter GUI library. This calculates the stats of a Pokemon, based on level, nature, base stat values, IVs, and EVs. The results have been verified against formulas and examples on Bulbapedia.

Long Lines Finder


View Source/More Info

A simple Python script that reads through a user specified text file and finds lines that are over a number of characters the user inputs. Initially made for my own convenience for my final project of a computer science class to ensure all lines of my code were readable.

Discord Thread Keeper


View Source/More Info

My first independent foray into TypeScript, this is a Discord bot that keeps a constant check on user provided Discord thread channel IDs and regularly unarchives them, if they are archived. This prevents users from having to manually unarchive them, whether through sending a message or through the setting, or boosting the server enough to get a long enough thread lifetime.

SimSig Game Updates Bot


View Source/More Info

Discord bot that posts upcoming multiplayer games from the SimSig websites, in a rich embed format, at 00:00 each day

SimSig Simulation Picker


Run

View Source/More Info

This is an HTML page, with associated JavaScript and CSS, that picks a random SimSig simulation (out of the full pool of British SimSig sims) with all associated settings.

sbrugel.github.io


View Source/More Info

The source of this website, presented in a neat, organized format. How cool is that?!