RepaDex

GitHub Link

Backstory: While working at TechHub I noticed frustrations happening with Microsoft Access. They were using it as a database for their repair system. Every single repair that they have ever done was in that system. It had no server, just files on a network drive and forms that edited those files. I wanted to do something better, so I designed RepaDex. We all love PokeMon and this software is never going to be sold. So a name I thought we could all have a lot of fun with is RepaDex. Rep for repair, and Dex from PokeDex. I asked around and I realized that there is not going to be a way to get access to any sort of server, nor put up my own on the LAN, so I had to keep using the idea of using a file on a network drive as my "database." However I'm now using this data more effectively. Instead of trying to display all the data at once, it only displays 100 at a time. The data is easy to work with as long as you dont try to create 1000's of rows in a table like access was doing. I also make it easier to input new repairs into the system, now instead of typing everything, there is buttons and dropdowns. Other new features over our old system was log files: they are attached to the repairs so you can see exactly how the repair got to the state it is in, proper work events: now instead of typing everything into one big text box, you now add events that happen to the repair, cleaning clutter and making the program look nicer.

Problem encountered: I really did not like the lack of availability of a server, thus I had to design around the fact that any changes will take 4-10 seconds while still keeping the app responsive. This problem was solved by intentionally not using methods that cause the program to wait on a file save/load without 1) being able to indicate that it is thinking and 2) freezing the whole problem.

Everything was written in HTML, CSS and Javscript. These were then loaded into an electron app.

Main Screen

Main Screen as of January 2024

Form

Form Filled

Edit Repair

Printed

Tech Hub Appt

GitHub Link

I work as a repair technician at TechHub but I notice small things that could speed up their processes. One of these things was their appointment system. This simple java program generates time slots for us to assign to people to limit the amount in the store. It, just like RepaDex has a json file that is stored on the local network drive and uses it as a sort of database. I pioneered a lot of RepaDex's system on this program. It is simple and looks ugly but it works perfectly.

Main Screen

Shadow of the Empire

GitHub Link

During the pandemic Ohio State's board gaming club came to Matthew Zirbel and I to create a mega game online to tide people over while they had to stay at home. The website was written by him and the server by me. The client connects to the server over a websocket and will auto refresh. This is to prevent the page from flashing and gives the user the best experience possible.

Main Screen

About Page

Autonomous Airplane Project

This project started when my friend Matthew Zirbel and I wanted to make an autonomous glider that you could throw from the top of a building and glide to a position. This ended up not working at all because we are not Aerospace majors, but it did look cool. Fast forward a year and here we are... "Glider" V3.1. This is an airplane completly designed in cad and make out of 3D printed parts (anything orange), aluminum extrusion, foam, and thin plastic sheets. There are 3 9g metal gear servos, and 3 5" quadcopter motors. The sensor suite includes a 9 axis IMU, a barametric pressure sensor, a GPS module, and an ultrasonic range finder. It communicates to the ground station with a RFM95. Lastly I had to include some WS2812b LEDs. Everything is controlled with a Teensy 3.1.

Alexa controlled dorm lights

GitHub Link

When my room mate and I started planning our room in the summer of 2018 we decided we wanted to have better lights than the default ones. The end goal was to use a laser to put a point on the ceiling and then have paddles on each end. This would allow us to play pong on it. We got as far as using it as a general lighting system. You can select scenes and change the color. It runs on a Raspberry Pi and that's why it is written in python.

Door Lock

GitHub Link

I found that I didn't like carrying around a key to my dorm room all day. So I created a system to lock and unlock my door with my phone. The door program itself is written in python run from a raspberry pi. There is no server for my phone to connect to but rather the python program queries a database hosted on Amazon Web Services (AWS). Then an android app manipulates the database to open and close the lock. This configuration allowed me to learn AWS while also keeping the whole setup "serverless."

Elite Neopixel Integration

GitHub Link

One of my favorite games is Elite Dangerous. I love playing this game and I love LEDs, so I thought I would combine them. It hooks into the game using the log files it creates, it can listen for events like: Docking to a Space Station, Firing a Torpedo, Deploying Landing gear, Deploying a limpet, and like 20 more. The java program then converts these readings to serial data to send to an arduino connected to WS2812b LEDS that are behind my monitor. In the GitHub you can see C code for that arduino as well as the java code.