From an early age, I was captivated by the world of computers—sparked by watching my dad's passion for electronics and automation. I eagerly dove into self-teaching, mastering HTML, CSS, and JavaScript through online tutorials, and even building simple websites and text-based games. Those early experiments, coupled with hands-on projects like tinkering with robotics and Arduino, set the stage for a lifelong passion for both coding and the underlying infrastructure that makes technology work.
Today, I've channeled that passion into a career where I blend creative software development with a deep appreciation for reliable, scalable systems. As a Software QA Analyst and Software Developer at WheresTheBus LLC, I build robust APIs in Python using Flask and Celery, deploy containerized applications with Docker, and manage services on AWS with EC2 and ElastiCache. I also work closely with customers — gathering requirements and crafting intuitive UI mockups in Figma — to deliver solutions that truly meet real-world needs.
Graduating cum laude from the University of Maine with a BS in Computer Science and a minor in Computer Engineering provided the formal foundation to complement my self-taught beginnings. Now, I'm eager to continue evolving my skill set and contribute to innovative projects that push the boundaries of modern web applications.
This is the second version of my portfolio website, built with Vue.js and Chakra UI. I wanted to create something that would set me apart from other students and job applicants, so I built a site to showcase my skills and abilities.
Before creating the first version, I had no experience in web development. However, I was eager to learn and taught myself HTML, CSS, and JavaScript. Within a few weeks, I started work on the first iteration using React.js. Though it was my first foray into web development, I was pleased with the results and proud to share it with potential employers and colleagues.
For the second version, I aimed to improve upon the original site while also learning a new framework. I chose Vue.js and Chakra UI, having heard positive feedback about Vue and already having some experience with Chakra UI. I’m pleased with how it turned out and look forward to continuing this project.
Over the course of two semesters, I worked with four other students to design, build, and deliver an interactive web application for a client. Our project followed the software development lifecycle (SDLC), and we meticulously documented each phase—from initial design and requirements gathering to final delivery and maintenance.
We were tasked with creating a user-friendly front end using TypeScript, React, and Vite, then connecting it to the client’s Oracle database via Sequelize (an ORM). Our initial directive focused on front-end development, assuming the back-end was already in place.
However, we soon discovered that we also needed to develop the back end and database models. This unexpected challenge meant we couldn't meet all our initial requirements, but we remained agile and prioritized the major objectives.
For my final project in Network Engineering, I gained hands-on experience with DigitalOcean, a leading cloud infrastructure provider. I set up and hosted a reverse proxy server on a DigitalOcean droplet using Nginx, meticulously configuring it to serve a replica of my portfolio site via a dedicated subdomain.
This project involved multiple stages, showcasing my proficiency in various aspects of network engineering while deepening my understanding of DigitalOcean's services. The first step was installing and configuring Nginx on the droplet to efficiently handle incoming traffic, laying the foundation for the rest of the project.
To bolster security, I configured a robust firewall, adding an extra layer of protection against potential threats. Building on this secure foundation, I then set up an Nginx reverse proxy to handle subdomain requests and route them appropriately, ensuring seamless user navigation.
For my final project in Sequential Logic Systems, my partner and I developed a functional rendition of the classic game of Pong using Verilog, ultimately implementing it on an Altera FPGA. This project extensively explored the practical applications of digital design and hardware programming.
We received foundational modules to manage VGA output and CPU timings, and we built upon them to create the core game logic. My contributions involved designing the play area and visual elements (the ball and paddles), as well as the logic governing their interactions. This included handling the ball’s movement and detecting collisions with paddles and game boundaries.
This project showcased my ability to apply theoretical concepts to real problems, demonstrating my skills in digital design, Verilog programming, and collaborative development. You can view the source code and further details on GitHub.
In my Embedded Systems course at the University of Maine, I connected a PS/2 keyboard to a Raspberry Pi via GPIO pins, exploring hardware interfacing, device drivers, and real-time programming in an embedded context.
At the core of the project was a C program that read scan codes from the keyboard and decoded them to display corresponding characters on the terminal. This highlighted my proficiency in low-level programming and keyboard interfacing protocols.
I used a custom Raspberry Pi hat designed by my professor, Dr. Weaver, featuring passthroughs for pins 23 and 24, power, ground, and a voltage converter for the PS/2 port. Working with custom hardware showcased my ability to handle specialized components and deepened my understanding of hardware-software interaction.
As part of my Computer Science degree, I completed a capstone project in my final year. I worked in a group of 5 to develop a web application for a client on campus. The application was designed to allow users to create and download their own fantasy creatures, as well as view the collection of creatures stored on the client's database. I was responsible for designing and implementing the creature creator as well as the PDF download functionality. I also contributed to the overall design of the application.
As a software QA analyst and developer, I contribute to delivering high-quality software by writing Jira tickets, configuring containerized APIs, and collaborating closely with customers and the programming team. I also utilize Figma to mock up UI elements for improved user experience.