CalDAV Canvas Sync
This is a program I made to better connect various services I use. I have a CalDAV server that manages stuff like my calendar and to-do list. I have this connected to many of my devices so I am able to easily see my current schedule. In order to make it more comprehensive, I designed a script that connects to the Canvas LMS, which my school uses, and made it get a list of all my assignments and add them to my to-do list if they were not there already. This allowed me to more easily see my current assignments using the same system I was already used to.
source code
AI Thumbnail Selector
This is a program I made to help select thumbnails for videos from my church. I had previously helped automate a lot of the work that was done with service recordings, such as backing them up, marking them in an archive file, and uploading them to the church website. One thing that still had to be done manually was select a frame from each video to use as the thumbnail. To help with this, I extracted many frames from various videos and manually labeled them, then used PyTorch to train different models that worked together to choose the optimal frame for a thumbnail. This took into account things like having a clear shot of someone's face, having their eyes open, having their mouth closed, etc. To help accomplish this, I also created an open-source GUI tool with keybindings to help quickly label various images, linked below.
source code
3D Printer Time-lapse
This is a program I made for my 3D printer. After I got a file that gave the 3D printer instructions on how to print, I would feed it into this program, and it would modify it so that between every layer, it would move the printing head away from the model and trigger a camera to take a picture of the object being printed. All of these pictures would then be combined into a video in order to create a clean time-lapse video without having the print head blocking the object being printed at any point.
Analytics System
This is a program I made for a game studio that I co-own. It's a program on a server that all of our games connect to, where they send different analytical data about the game. The program then aggregates all the data and presents it to us in an easy-to-understand way. We have used this data to identify which parts of the game are too easy or difficult for players and have adjusted it to be more balanced.
Document Organizer
This is a program I made to organize different work-related documents. It has templates for the different types of documents needed, where I could select which one I wanted, and it would autofill certain fields, such as the date. It could also save customer information so that when I needed to make them another document, it would autofill in their information, which I gave it last time, instead of asking for it again. It also stored an index of all documents, so I could easily filter through them based on things like the client, date, or document type.
Game Communication Bot
This is a program I made for me and my friends while playing a game. It would often be chaotic trying to find a time when people were available and have everyone join the correct voice channels. To fix this, I created a bot on the messaging platform we used. People could request different times to play with the bot, and others could accept or decline. If it was confirmed, then everyone who accepted the invitation would get a notification at the set time. It would also automatically join people to the correct voice channel based on their team.
Sale Checker
This is a program I made when I wanted to buy something from an online website. I wrote a bot that would check if there was an active sale on the item, and if there was, it would connect to a messaging app that I use and send me a notification. From there, I set it up to run every day and use it whenever I find another item I want, in order to see when it goes on sale.
Device Sleeping
This is a program I made because I have some devices around my house connected to the Wi-Fi, which I turn on to use sometimes. However, I sometimes forgot to turn them back off, and they would run all night, which could reduce their lifespan. To fix this, I created a program on a device that was always on and at midnight would connect to my other devices, and if it detected that they were on, it would put them to sleep, so they wouldn't remain on if I forgot about them.