This page has a list of many of the projects I have worked on, most of them independently.

Shortcuts: Other Projects, Simulator-Related Content

Main Projects

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 2,500 students and 25+ professors. The bot and the server are maintained by three 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 the ability to ask private questions for professors/TAs to view and in-chat polls.

Written in: TypeScript, NodeJS

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.

Written in: C#

Flash Card Maker


View Source/More Info

A Windows Forms application that allows the user to create sets of flash cards for studying, save them on their system, and review them in another window, being able to shuffle the card order at any time.

Written in: C#

SEPTA Tracker Discord Bot


View Source/More Info

Originally created in 2021, this is a Discord bot that fetches from the SEPTA API every 2 minutes and returns delays, last recorded location, and train consist information for user-inputted train numbers in a specified text channel. It also regularly updates users on alerts/advisories for regional rail lines.

Version 2 consists of a complete overhaul and re-writing of the original bot's code owing to a recent overhaul of SEPTA's website and feeds.

Written in: TypeScript, NodeJS

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.

Written in: Python

Other Projects

Other, smaller things I've done. Not everything is on here; you can view the complete list of my works on my GitHub.

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.

Written in: C

Biking Weather


View Source/More Info

A React app that intakes a location name/area code, makes an API call to determine weather conditions, and tells if they are good for biking.

The user has the ability to enter both location names and area codes to determine the weather/conditions in an area. The user is presented with the temperature (actual and feels-like), chance of rain (current and in the next hour), and humidity. The data is also highlighted in either green (good for biking) or red (not good).

Written in: JavaScript, ReactJS

img2pi


View Source/More Info

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

Written in: C

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.

Written in: Python

Railroad Locomotive Scraper


View Source/More Info

A small web scraping project that intakes a railroad company owner's reporting mark (e.g. 'NS', 'BNSF', ...) and a locomotive number. The program then scrapes RRPictureArchives to find that locomotive, searching through pages using a divide-and-conquer algorithm to reduce the average searching time (especially for locos with higher numbers). It returns the locomotive model as well as any associated notes.

Written in: Python

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.

Written in: TypeScript, NodeJS

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.

Written in: C#

Discord Translate


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.

Written in: TypeScript, NodeJS

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.

Technically, this is simulator-related content, but I feel like the scope of this project is big enough for it to fit in with my general stuff.

Written in: C#

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...! :)

Written in: TypeScript, NodeJS

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.

Written in: Python

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.

Written in: Python

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.

Written in: TypeScript, NodeJS

sbrugel.github.io


View Source/More Info

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

Written in: HTML, CSS, tiny bits of JavaScript