Projects
With over five years of professional experience under my belt and personal passions in the realm of containerization and systems administration, you can be sure that whether you need a project built from the bottom up or just consultation on some implementation details, I can help you get your project off the drawing board and into production.
Below is a (roughly) reverse-chronological list of projects I've worked on with some additional context. I've highlighted projects that I'm particularly proud of. If that's not enough for you, check out my GitLab profile for all of my open source repositories.
FSW Infrastructure Overhaul
Between 2018 and 2020, Docker gained traction among my coworkers and in early 2021 I lead a pseudo-committee meeting weekly to build out an entire replacement infrastructure for the relatively archaic application infrastructure at the college.
Ansible formed the foundation of this overhaul; all provisioning of physical and virtual machines had to be done by Ansible playbooks stored in Git. These playbooks would create a k3s flavored Kubernetes cluster across a mix of physical servers and virtual machines spread through different datacenters to ensure the highest degree of fault tolerance. Besides services critical to bootstrapping the cluster, all workloads would be deployed and continuously updated by ArgoCD. We chose Rook Ceph to provide persistent block and S3 storage to workloads in the cluster.
Finally, in December 2021, the proverbial switches were flipped, and all FSW website traffic was pointed to the new infrastructure. To our delight, the application responded to this massive load by gracefully scaling up to meet the demand exactly as planned.
- Ansible
- GitLab CI/CD
- Kubernetes - k3s, ArgoCD, Rook Ceph, and much more
TabooBot
A Discord bot to help your friends stop using certain words or phrases in conversation. Born out of the need to censure the neverending cryptocurrency discussion in our social Discord server, I chose to write this bot in Rust rather than Python for several reasons:
- discord.py's maintainer announced they were leaving
- Serenity had support for cutting edge "slash commands"
- Rust evangelists won
The development experience was an absolute joy and I now consider myself one of the aforementioned Rust evangelists.
- Rust - Serenity
- Redis
- Kubernetes
State Plates
A simple web application to track license plates you see on a road trip written using Vue.js.
While on a long summer roadtrip, my wife and I found it hard to keep track of which state license plates we had seen. Could we have kept a note on one of our phones? Sure, but that would be too easy. Weather kept me inside for most of our vacation, so I took the opportunity to put this little application together using Vue, which I had always been curious to explore.
I hated it. I can appreciate that Vue is probably great, but I think I'm very much wired to think in terms of React and I would need a lot longer than a few days of vacation to fully appreciate the Vue mindset.
You can play State Plates here.
- JavaScript - Vue.js
- GitLab Pages
GoSolo
GoSolo is safe and simple way to get into a solo public session of Grand Theft Auto Online written in Go. GoSolo simply suspends the GTA5 process for 10 seconds and then resumes it. If run on Windows, GoSolo will attempt to bring the Grand Theft Auto window back into focus as a convenience.
Originally, GoSolo was a small Python script. It worked, but would take two seconds to begin running. I figured a compiled binary would have to begin execution faster than two seconds and so I dove into rewriting the script in Go. The results were inconclusively faster but certainly better. I was able to automatically refocus the game window after executing and distribute GoSolo to my non-developer friends for their own usage without asking them to install Python first.
Along the way, I contribtued a rewrite to GoReleaser's GitLab CI documentation.
- Go
Valheim Server
Valheim Server is an OCI container image for hosting a dedicated server for the game Valheim. It is automatically rebuilt and published using my project, Steamtrigger, when the developers release updates to the stable version of the game.
- Steamtrigger
- Docker
Steamtrigger
Steamtrigger is an OCI container image for triggering a GitLab CI/CD Pipeline based on Steam application activity. The underlying script relies on a Steam changenumber websocket from xPaw's SteamWebPipes and Steam data lookups fron Jona Koudijs' steamcmd.net.
When the video game Valheim released in early access, I was one of the first to publish an image of the dedicated multiplayer server to Docker Hub. Games in early access tend to move fast and break things and I was not interested in manually rebuilding the server image every time they updated. After doing some research and concluding that nothing existed currently to make this process easy, I pulled together several services and built Steamtrigger which will monitor Steam for updates to the game and trigger valheim-server's CI/CD pipeline to rebuild, tag, and publish new container images.
- Python
- Docker
Lynching in LaBelle
A digital history project by Dr. Brandon Jett chronicling the murder of a young man in LaBelle, Florida.
Dr. Jett wanted a website that could centralize, organize, and display historical information about the lynching in order to provide easy access to that knowledge for the public. After reaching out to Florida SouthWestern State College for insight into what this project might entail, Dr. Jett asked me to put the website together. Since I imagined the information needing some updating over the years and knowing the professor would be capable of adding content himself, I selected WordPress as the underlying platform for the project.
- WordPress
Pyomodoro
An easy to use CLI for the Pomodoro Technique written in Python.
I wanted to experiment with writing a CLI application and was also curious about the process of publishing a package to the Python Package Index. A pomodoro timer seemed to be the perfect project to explore both of those areas.
I no longer maintain this project.
- Python - Click, plyer
- Docker
Tedflix
A total video streaming service similar to Netflix for me to watch at home and on the go.
Originally run on an enterprise Dell R710, I have since migrated the platform to more modern desktop hardware while still using a Dell MD1000 to provide 50+TB of storage.
While no individual part is my own work, configuring each microservice to work together forming a complete platform was a true test of my systems integration and troubleshooting skills.
- Docker-Compose
- GitLab CI/CD, GitLab Runner
Bait or Not
A Twitter bot that judges whether a tweet is "bait" or "not bait."
Mention @Baitornot on Twitter, whether in a top level tweet or in reply to a tweet, and the bot will quote reply with its judgement.
- Python - Tweepy
- Docker, Kubernetes
Florida SouthWestern State College CARES Act Dashboard
A dashboard for Florida SouthWestern State College employees to easily disburse CARES Act grant funds to students.
As part of the CARES Act, Florida schools recieved around $4,000,000 to aid students who were financially impacted by the COVID-19 pandemic. The Office of Financial Aid requested IT's assistance to get the funds in the hands of students as soon as possible.In roughly a week, we created an automatically populated form for the students, a RESTful API for the form submissions, and a small React dashboard to display that data.On the dashboard, Financial Aid employees can batch process the submitted applications, review the applications that failed some prerequisite conditions, manually adjust an application's status or cash award, and forward the approved applications to Accounts Recieveable to disburse the funds.
- PHP - CodeIgniter
- JavaScript - React
- MariaDB
- Docker
FSW x Olark Integration
Olark is live chat software that includes Chatbots and customer data tools.
As COVID-19 pushed Florida SouthWestern State College into a fully virtual experience, we saw an immediate need for more real-time methods of communication besides the phone. After evaluating our options, we chose to integrate Olark, as their API documentation indicated we would be able to hack together a Single Sign-On type of flow where chat users could verify their identity to the chat agent, allowing the agent to discuss sensitive details that would otherwise violate FERPA.
I'm very proud of the clever code we came up with to make the process seamless for both the users and agents, and Olark found our implementation intriguing enough to interview us and write a case study, which has much more impressive details.
- JavaScript
FSW Alert
The FSW Alert emergency notification system is the official source for emergency alerts, warnings, and information from Florida SouthWestern State College. FSW Alert delivers emergency alerts to students, faculty, staff, and campus partners simultaneously through 20 primary and secondary delivery methods in 5 minutes or less.
Florida SouthWestern State College had a solution in place to send emergency notifications by phone and text, but no way to extend those notifications to places where it was "impossible to miss." Beginning in April 2019, work began to expand FSW's emergency notifications to include the FSW website, Canvas website, and the FSW App.
The solution involved PHP acting as a proxy API and, for most of the new clients, a vanilla JavaScript script. On the day of our planned initial test, a severe tornado warning was issued near the campus. This necessitated actually using the system, rather than testing it. To our relief, every piece worked without issue. The new FSW Alert system would go on to prove itself invaluable in communicating 2020's rapidly changing COVID-19 situtation.
- PHP - CodeIgniter
- JavaScript
Sow Joan
A Discord bot for Animal Crossing: New Horizons that enables easy coordination of turnip prices.
Users can register the islands that they play on, report their turnip prices for their islands, and pull a timezone aware list of prices from every user in a Discord server to find the best price available to buy or sell turnips at!
I no longer maintain this project.
- Python - Discord.py, Django, Django Rest Framework, pytz
- PostgreSQL
- Docker
Florida SouthWestern State College CMS
A bespoke content management system aimed at meeting the unique needs of a university.
Moving the FSW website to a CMS has been a long term goal of mine since I started working there in 2016. After assuming the role of webmaster, our web team trialed several available CMS solutions like ExpressionEngine, Wordpress, Drupal, and others. While they each had their benefits, various team members had reservations about each.
In the end, we disregarded all common advice and decided to forge ahead with our own custom CMS built on Laravel as the backend and React as the frontend.
- PHP - Laravel
- JavaScript - React (and many supporting packages)
- MariaDB
- Docker
www.tedtramonte.com
A static website for Ted Tramonte, LLC doubling as my living resumé. Eleventy is an awesome static site generator which is perfect for powering a simple marketing site like this. Since I'm prone to breaking my own infrastrucure and it would be embarrassing for my own website to 404, I host the website using GitLab pages. If it's broken, it's their fault.
- JavaScript - Eleventy
- GitLab Pages
Talented Discord
A Discord bot for Heroes of the Storm that provides builds for a hero, timed announcements for match coordination, patchnotes, and more!
This is the project that really started it all. A lot of my beginner's impostor syndrome melted away while building Talented Discord. Challenges in development and production lead me to containerization and orchestration and ultimately got me interested in DevOps as a discipline.
I no longer maintain this project.
- Python - Discord.py, Django, Django Rest Framework, Beautiful Soup 4
- JavaScript - React, Axios
- PostgreSQL
- Docker
Florida SouthWestern State College Redesign
An accessibility-focused visual and marketing overhaul for the Florida SouthWestern State College (FSW) website.
I started working at FSW in 2016 shortly after the webmaster rolled out a new design using a Wordpress theme converted for use in CodeIgniter. The ensuing three years would see me replacing that webmaster and planning out how to slim down and modernize the gargantuan CSS, countless JS scripts, and 30MB of images on the homepage.
By trimming down the styles and scripts to only Bootstrap, making full use of a CodeIgniter templating system, and optimizing image sizes and resolutions, the redesigned website homepage is roughly 2MB in total and loads twice as fast.
Check out the website's previous design for a comparison.The Wayback Machine may not load every single image that was actually on the page, so you'll have to just trust me on that one.
- PHP - CodeIgniter
- Bootstrap 4
Shake!
A microgame in the style of Warioware created in Game Maker Studio 2.
Shake! was my entry to a community-member ran Game Jam themed around microgames and my first ever released game. Shake! won third place.
Dream Catchers Super Store
A fully featured e-commerce website built from scratch.
For my Florida Gulf Coast University Senior Capstone project, my two-man team was assigned to create an e-commerce website similar to Walmart.com or Amazon.com. We could use any backend languages to get the job done, as long as there were no frameworks involved. After delivering the initial project, our team was matched up with another team and challenged to integrate our two websites. Our final project featured daily sales, product categorizing and sorting, product reviews, a shopping cart, order invoicing, and user accounts.
- PHP
- MySQL