Responsibilities included developing and deploying various applications, as well as managing IT systems such as physical servers and computers.
My boss and I were the only developers at the company, and I was the only one who was a full-stack dev, so projects below I wrote all of the code for, minus a few complex SQL queries.
Developed and deployed a website with dynamic user content for Royce's product line.
Uses a unique data structure with categories, subcategories, series categories, and products, with the series having multiple parent subcategories.
Customers have the ability to sort by product properties, machine type, machine manufacturer, or industry / application.
Dealers have the ability to log in to see their pricing and stock quantities. This data is pulled from Royce's ERP system.
Admin Portal is hosted internally, and allows for modifcation of all data on the site. The data can be published to the live site with the click of a button.
SEO with dynamic sitemap generation.
CI / CD pipeline setup with GitHub Actions, using Playwright for e2e testing and Jest for unit testing. Deployed on a Ubuntu VPS with OpenTelemetry for monitoring, Prometheus for metrics, Loki for logs, Tempo for tracing, and Grafana for visualization.
Scanning 007
Developed and deployed reporting / management software for production.
Allows the managers to schedule jobs, set priorities, view job durations, and report pieces completed.
Allows employees on the shop floor to see priorities and easily log setup / run times for single / group jobs and report pieces (scan)
Also has a timecard portion for employees to log their hours, and a reporting section for managers to see the data.
Uses a complicated formula to calculate the projected inventory (as some parts are component parts of other parts)
The 7th iteration of the application, hence the name.
Outlook Addin / PDF Generator
Developed and deployed a Microsoft Outlook add-in that uses a node.js / express server to generate and attach PDF documents of customer documents.
Solves a problem with the difficulty of obtaining PDF copies of orders / quotes / invoices for customers.
This former process for obtaining these documents would be one of 2 ways, depending on the document: 1) navigate to the correct page in the ERP, and email it to the employee who would then forward it to the customer. Or 2) going into the filing cabinet, scan it to the employee's email, and then forward it to the customer.
Because of the nature of Royce's business, ~100 documents were being requested per day.
The new system that I developed is an Outlook add-in that allows the user to select the document type (order, quote, etc), enter in the UID for the document, and the application will pull the data off the system, create the PDF and attach it to the email.
Any employee can now access any document in seconds in their outlook client because of this application.
US Shipment Master
Developed and deployed a web app that automates the process of generating US customs documents for shipments to the US.
Replaces a manual process that took ~7 hours a week which now takes ~40 min a week with more accurate data
Works by taking BOL data from Royce's ERP system and finding the appropriate tariffs / country of origins for the items on the BOL
Generates correct upload files / pdfs for the US customs
Invoicing Program
Developed and deployed a web app that automatically creates and sends invoices / statements.
Integrates with existing ERP system to pull data from invoices to be able to automatically send and print (for the customers without emails) invoices and statements.
For COD customers, waits until payment is received in full before sending/printing the invoice with a paid watermark.
Emailed invoices are automatically sent every morning and statements at the beginning of the month.
Logs full history of changes to customer profiles, including when invoices were sent / printed.
Over 18000 invoices have been sent or printed since the application was deployed.
Drawing Finder App
Developed a desktop app that connects to my API to find drawings.
Royce has over 50,000 drawings on their drawing server organized by customer, so finding specific drawings can be difficult.
The solution: a Node.js application connects to the file server and indexes the files once a day. (using cron)
A rust desktop app connects to the Node.js server and searches the index for the part number.
If the part number file path is found, the rust desktop app opens the file in the default file viewer.
Other
Projects:
Car Web Scraping System
For my family's car dealership. Scrapes the web for the best deals texts them to a user's phone.
Scrapes Kijiji and facebook marketplace for the best deals on cars.
Uses a cron job to run the application every 15 minutes.
Will search for cars that have a certain price, mileage, and year range.
If a car is found that meets the criteria, it will text the user with the details.