Chris O'Brian

Web & Software Developer

Personal & Professional Projects

I believe it's important to keep yourself occupied beyond academics and work, so I like to have some projects going that I can work on when I need to step away from my professional life. Typically, I find a project that lets me apply what I'm learning or something I'm passionate about, which makes them all the more valuable! Feel free to send me a message if you have any fun ideas for future projects, want to help out with one in progress, or just want to discuss any of them.

Click any of the tiles for more details!

Heads Up! You don't appear to have Javascript enabled, which is OK! It just means I can't provide a neat shortcut menu. You'll have to scroll down through and read them all! :)

Completed

This Website!

Lutron Caséta Layout Tool

Cornell Productions Website

Jewelry by Mamta Website

"Scruffy" the Jeep

"Jimbo" the Jeep

DMX Protocol Converter

In Progress

My Farmhouse

Schedule Planning Tool

Hand-Built Guitar

"Chad" the Cherokee

This Website!

My Website

You're looking at "Version 2" of my personal website. I completed the original site back in August of 2019, but was never entirely satisfied with the design or functionality of it -- so I started to build what's now this current site during the spring and summer of 2020. The original site didn't feature any responsive design setup, nor did it employ the exciting resume layout that this site does. I am really proud of how this "Version 2" came out!

Building this site has allowed me to practice many of my programming and web development skills in a really fun way. I'm also happy to have a more complete resume for employers to view...I really hate how I have to condense my life's story to a single page and just hope I have included the right things. On this website, employers (or anyone!) can learn who I really am! I'm quite proud of this project for that very reason.

Lutron Caséta Layout Tool

During the summer of 2020, right after COVID had hit the U.S., my summer internship with Lutron was cancelled, and they held a month-long "summer experience" in its place. As part of this program, the participants were grouped together and told to put together a presentation from the perspective of an electrical contractor tasked with convincing customers of the benefits of Lutron Caséta products.

I contributed to this by developing a Javascript-based "design tool" that allowed the user to lay out and program a Caséta system in an exmaple floorplan to compare the estimated savings on electricity alonside the cost of the products. Given I only spent about two weeks putting this together, I was fairly proud of the result.

Please, try out using the Caséta Layout Tool at https://chrisobrian.github.io/.

Instructions on its use can be found in the associated GitHub repo's README.

Cornell Productions Website

Cornell Productions -- a student-run sound/lighting support organization -- is a group I worked for during my time in Ithaca. Cornell had recently overhauled it's student group website system when I joined, which resulted in CP losing it's website. I was happy to take on the project of creating a new one and am fairly contempt with the result - although I didn't enjpy having to work within the confines of their website builder. But that's just me - you should have a look and decide for yourself!

Visit Cornell Production's new Website

Jewelry by Mamta Website

During the spring of 2019, I took a web programming course that focused on back-end web development with an emphasis on PHP and SQL. A big part of this course was a group website design project for a real client, and my group built a website for a home jewlwery maker - Mamta.

I apologize - I need to hunt through my archive for a copy of the website to post here and share. I have yet to find one.

"Scruffy" the Jeep

'Scruffy' the Jeep

I purchased a 2000 Jeep Cherokee XJ over the summer of 2019 for $400 hoping I'd be able to get a car in Ithaca for the following school year. At the time, I figured these Jeeps were durable enough and the fact that this Jeep had been sitting untouched for 2 years wasn't a big deal. Well, I can now see how this may have been a foolish notion. The Jeep started right up after I put a new battery in it and replaced the alternator, so I took that as a sign that he was ready to keep chugging beyond his 230,000 miles. Unfortunately, I only made it about 10 miles before I got the flashing misfire light-of-badness. After doing some tests, we found the engine has low compression on the front 2 cylinders (it's the 4.0L I-6 model) and shows signs of coolant leaking into the cylinders. Yea, not a happy discovery.

So, I spent the fall 2019 semester living in Ithaca with the Jeep sitting 250 miles away at home in NJ, and my new plan is to rebuild the engine & replace the head gasket (which I believe is the culprit) over my winter break in December/January in the hope that I can have the Jeep ready for Ithaca for the spring semester. This wasn't exactly how I envisioned this project going when I bought the truck, but I've been learning a lot messing with the engine already and I have hope that I can milk another few miles out of Scruffy.

Why have I named my Jeep "Scruffy" you may ask? Well...sitting in a backyard for two years covered in sap, twigs, etc. would give any car a scruffy appearance! The image above shows him only after I spent a long time scrubbing him down.

10/15/19 Update:

For my Columbus Day break (2019), I spent quite a few hours taking the engine apart on the Jeep. It wasn't the easiest thing I've ever done, but, I can say I got the cylinder head off the thing!

Once I got the head off, I noticed that there was some rust along the the cylinder wall on cyl. 1. I am hoping that this isn't bad enough to cause any serious problems, but if that rust has been wearing the piston rings away then Scruffy may have a serious oil-eating problem once he's running. I'd really like to avoid taking the cylinder head off a second time, so I think I will change the piston rings also while he is apart.

5/18/20 Update:

So all went according to plan (mostly). I got the engine back together and running at the end of winter break (Jan, 2020) and Scruffy joined me in Ithaca for the few weeks before Cornell moved to virtual instruction due to COVID-19. Now, I have additionally replaced the sagging headliner and replaced the heater core, as there had been coolant leaking onto the carpet. I am now convinced that the Jeep had water in the cooling system which had frozen while it sat and cracked a bunch of things -- I also replaced the radiator around this time as well, which was leaking coolant, too.

8/1/20 Update:

While I had hoped this Jeep would last me a little while after all the work I'd put into it, I am sad to say I have had to sell it. It started making this crazy noise from the top of the engine, which I thought was valvetrain-related, but I believe this was just a few loose bolts on the exhaust manifold. However, while I was taking the engine apart trying to figure this out, I noticed a significant coolant leak which appeared to be coming from one of the freeze plugs. Unfortunately, once I got the exhaust manifold out of the way, I found it was actually due to a big crack in the engine block...which is not something I can easily repair.

So, I made the tough decision to sell the Jeep. Thus, this project is now marked as "completed" only by definition -- I wish I had the time and funds to actually get this Jeep back to living condition. Time to look for a new car.

"Jimbo" the Jeep Wrangler

'Jimbo' the Jeep

That's right! I bought a second old Jeep!

Upon graduating from Cornell, I found myself a little bored in my off-time and in need of another car project, so in the summer of 2021, I purchased a 1989 Jeep Wrangler - which I promptly named "Jimbo" - that didn't run and needed a fair amount of work. This thing had a 4.2L carburetted inline-6 engine coupled to a 5-speed manual trans.

This was an awesome project that I thoroughly enjoyed for the following few years as I got the Jeep running and driving. I forget everything that entailed, but it definitely included rebuilding the carb, changing just about every fluid, rebuilding the transfer case, which had nearly destroyed itself, and attempting to redo most of the interior.

I ended up trading this Jeep for a Triumph motorcycle around Dec, 2023. While I was sad to see Jimbo go, the motorcycle was worth nearly twice what I paid for the Jeep (based on what I later sold it for), and the neighbors/HOA weren't a fan of my having an ongoing car project at the time. That, and Pennsylvania's stricter inspection requirements...Jimbo was a little rusty.

DMX-Showchanger Protocol Converter

This project took place during my junior year of high school (2015-2016). For anyone unfamiliar, DMX is an industry-standard protocol for serial communication generally between theater devices/fixtures and the control console. Almost always, the lighting console controls the lighting fixtures via DMX. Anyway, my longtime boss and high school teacher, Mr. Chris Langhart, had purchased some very old automated pan/tilt lighting fixtures and was interested in incorporating them to the already existing DMX control network in the school's performance space. Having been produced decades before the release of DMX, these lights ran on and older protocol which I believe was called "Showchanger" by Strand. Basically, I programmed an Arduino to receive the DMX signal from the network and translate it into this Showchanger protocol for the older lights to understand. Sufficient to say this took a lot of trial-and-error, but I eventually developed a working prototype that ran the lights smoothly enough. I was very proud of this, once I got it working as, not only had I programmed a successful serial protocol converter, but I learned A LOT about how microcontrollers and embedded systems worked. And I learned a lot of C (or the sorta-C Arduino language) as well.

I saw completing this project as a big milestone.

My House!

Our Farmhouse

In the Spring of 2024, My wife and I purchased our first home in Pennington, NJ! This is a 175-ish year old farmhouse that is in need of a quite a bit of work, and I'm sure I will have my hands full for the next few years as we slowly tun this house into our own. That being said, I am excited to see it come to fruitition!

Please don't hesitate to come by if you'd like to lend a hand! Or if you know the number for This Old House...

Schedule Planning Tool

Scheduler Tool

The vision of this project is to design a web-based application to assist with planning out student's schedules across their entire academic career. It would be an interactive design that lets the user drag courses around from semester to semester and plan out when he/she should take what specific course. I had the idea for this system a few years ago after spending many hours building an excel sheet that planned out what courses I should take here at Cornell.

Now, I, alongside my project group for my functional programming course here at Cornell, have started to build a prototype of this tool. It's more of a command line-based tool, written entirely in OCaml, but it supports features like adding/removing/editing different courses across different semesters, as well as exporting a given "schedule" as an HTML document to view a graphical representation of the given schedule. I am quite proud of the progress we've made so far on it, and I invite you to check out the source code here:

Command-Line Schedule Planning Tool

Hand-Built Guitar

I've played guitar since I was in 4th grade, and it's been a longtime goal to build my own guitar from scratch. A while back I bought a hunk of Korina wood and am working on shaping my own body. I've had to put this project on hold for some time now as I need a belt sander that's narrow enough to smooth out the rough cut I did with a band saw. Korina is supposed to have excellent sound/tonal qualities but it is definitely not the easiest wood to work with.

The electrician in me has already planned out the pickup layout and how they're all going to be wired together. I'm going to try and follow a traditional American Telecaster wiring scheme but with a few modifications to allow for some experimenting with the audio signal more.

"Chad" the Cherokee

'Chad' the Cherokee

Oh yeah - two rusty old Jeeps weren't enough, and I am now on my third!!!!

When my wife and I moved back to NJ in the summer of 2024, I once again had a substantial amount of land and driveway space, which could only mean one thing - time for another Jeep project! I soon bought Chad - a 1998 Cherokee and very similar to my original Cherokee, Scruffy.

I haven't had much time to start any big projects on Chad, aside form replacing the failing rear suspension, but I'm excited to own my own house (finally) and have the space and time to actually complete a Jeep project entirely. I'll do my best to keep this page updated as I work on Chad!