In-Progress

Bitmap Designer

I am currently writing a free web bitmap editor. I have an elementary version of my bitmap project available here.

    I hope to implement the following functionality soon:
  • - Advanced Color Selection
  • - Save Image

Home Server (~$350)

This server project's goal is to create a complete backup of things like family photographs, videos, etc. without hitting constraints commercial NAS technology imposes. Building a low powered Ryzen PC in an old case is a perfect way of managing a balance between price and performance while maximizing options.

I will be installing Ubuntu server on this machine and then installing 2x 4TB Seagate NAS drives to run in RAID to start with. Additionally, I am creating a modified version of my RemoteUpdater.py tool which will ensure the data is updated from the various devices I am targeting.

  • CPU: Ryzen 3400G
  • Motherboard: ASRock B450M-HDV
  • RAM: Patriot Viper 16 Gb kit @ 3200Mhz
  • Storage: Patriot P300 256 Gb NVME
  • PSU: Corsair CV 450 Bronze
  • Case: Dell Dimension 4500

I thought this would be not only a fun project, but an opportunity to make a retro PC build that I could use for more than just managing files. This is why I did not go with the bare minimum AMD Athlon or AMD 3200G and selected a 16 Gb RAM kit. Since the machine will run Ubuntu server, I will also use it to run legacy code that is more difficult to run on my Windows or Mac computers.


Referendum

Referendum is a project idea I created conceptually last summer. I am currently studying the caveats of React Native and React so that I can build this project over the summer. I pushed my timeline after the COVID-19 outbreak and hope to have some images available for preview soon.

This project aims to fill a gap in political campaigns revolving around volunteer scheduling and will aim to engage the Democrat and Republican electorate alike. My targeted Beta test date is mid-Summer and my goal is to provide a highly functional and integrated service that will efficiently optimize the grass roots movements efforts to engage voters and students.

Completed Projects


RemoteUpdater.py

RemoteUpdater.py is a simple python implementation which helps me manage my websites from multiple computers by storing my credentials and updating the files in the correct directories. I have only recently finished this project so my Github page needs updated to include a guide on how to use my new tool.

I will be creating a dedicated page soon on this site describing the use cases and implementation of the tool, but for 200 lines of python code, it is a powerful little tool!

Here is a link to the RemoteUpdater.py Github Page


W&L MockCon App

Summary

The MockCon app became available in late January of 2020 to support sustainability efforts at Washington and Lee's 27th Mock Convention. This is a mobile app that I designed myself after teaching myself much of the iOS and Swift ecosystems. The visual design was a broader collaboration among the MockCon Communications Team, but the technical implementation was entirely my own.

SwiftUI

I implemented Apple's relatively new SwiftUI framework for the majority of the project. This was in part to allow rapid GUI prototyping and also in order to design a familiar and reactive user interface. Over the course of my work, I designed several work arounds for problems that some developers have faced, which I have written brief excerpts and posted some code examples.

AWS Mobile Hub

Approximately half of the app data was served via AWS DynamoDB and AWS S3, services conveniently linked to AWS Mobile Hub. This included Event Data, Speakers Data, and Press Data. This was a quick and convenient way to serve relatively static content without building a stack to support the processes. Additionally, it was fairly easy to implement after modifying AWS' Documentation.

AWS EC2

Some data required complex processing and data storage to make my digital ticketing system function in a way that would be useful to the MockCon team. I used an Elastic Compute Cloud instance to set up an NGINX webserver to support this functionality and the functionality of the MockCon photo stream. See below for more!


W&L MockCon App Infrastructure

Summary

The app support site, mockcon.com is the result of a parallel project I created to support the functionality of the MockCon iOS app. The server runs on NGINX and uses a variety of HTML, CSS, PHP, Javascript, and Python to dynamically generate the necessary content. For this project I had to teach myself about webserver configuration and web protocol in addition to designing an authentication system for the website to administer various parts of the app in real time.

Configuration

The site is powered by Let's Encrypt certificates to force HTTPS protocol on all connections. The domain and server are entirely operated and owned by me and I will continue to update and support the site while I am at Washington and Lee.

Development

The site has 3 primary operations:
1. Sending Convention emails related to the ticketing system.
2. Supporting the ticketing and photos services by providing generated JSON data to the mobile app for the latest updates and content.
3. Serving a responsive website for administrating the photo upload process and allowing rapid solutions to any possible error with the ticketing system. (There were none)