Profile Photo

Hi, I'm Spencer! 👋

I am an electrical and computer engineer who loves learning how things work and solving problems. Those eureka moments that are felt when concepts click or challenges are conquered are what drives me in what I do. This is why I became an engineer, so I could use constantly evolving technologies to tackle problems.

My background is more of a signal processing and C/C++ software engineer 💻. However, I do dabble in other languages and areas. Recently, I have been reviewing embedded systems and learning about web development!

To get more of an idea of who I am and what I have done, check out the rest of the website. My Projects offer insight into the technologies that have fascinated me! Enjoy! 😀

Contact Me

Résumé and References upon Request

Projects

  1. Portfolio Website (2025)

    (HTML) (CSS) (Javascript)

    While updating my resume, I decided to create a portfolio website after noticing that many professional developers showcase their work online. I kept the site simple by building it with vanilla HTML, CSS, and JavaScript. From the start, I wanted a navigation bar, profile picture, resume section, achievements, and a project showcase. The site went through several design iterations as I refined what I wanted to highlight. I also treated the project as a learning experience and challenged myself to make the site reflect my passion for electrical and computer engineering. For example, I designed a sinusoidal-style wave border for the navigation bar by experimenting with SVG paths, which created a smooth and fluid effect. I also added floating mathematical equations, which are implemented with randomly generated span elements, that drift across the page to symbolize my technical background. This project was both fun and rewarding, as it gave me the chance to reflect on past accomplishments while also pushing myself to build creative features. Looking ahead, I plan to create a new version of the portfolio using React and Tailwind to further expand my web development skills.

  2. Automated Top 10 Data Animator (2024)

    (Python)

    While browsing social media, I noticed the growing popularity of animated bar and line race charts on platforms like Facebook, YouTube, and TikTok. Curious if I could automate the video creation process instead of relying on tools such as Flourish, I researched and discovered that Matplotlib could be used to generate animated plots. Using Matplotlib’s FuncAnimation class, I designed a modular system with three components: a main script for video generation, interchangeable plot generators for different chart types, and an animator to stitch the plots into a video. For data handling, I integrated pandas to read and process CSV datasets. Once I successfully produced animated bar chart videos, I extended the project with additional features. These included format options to automatically generate vertical videos for TikTok or horizontal videos for YouTube, as well as a video splitter to break long animations into shorter segments for posting. The code for the project can be found on my Github. I also created a social media page to share my animations, several of which gained thousands of views. One of my most popular videos, ‘Top 10 Most Watched Twitch Streamers Over Time,’ was even reposted by Jynxzi, the top Twitch streamer at the time. This project not only expanded my skills in Python, data visualization, and automation but also taught me a valuable lesson: data cleaning and collection often take significantly more time than the visualization itself.

  3. Automated Youtube/Twitch Uploader (2022)

    (Python)

    During COVID, I spent much of my time indoors watching Twitch and YouTube. As restrictions lifted, I no longer had time to watch full livestreams but wished for a way to easily view highlights instead. While Twitch offered a clips feature, it lacked an efficient way to organize and watch them together. To solve this, I developed an automated YouTube/Twitch clip uploader that compiled the top daily clips from my favorite streamers and uploaded them to a dedicated YouTube channel. The system ran on a Raspberry Pi using a scheduled Cron job to execute a Python script. Through the Twitch API, the script identified the most viewed daily clip for each selected streamer, downloaded it, and then used the YouTube API to upload the content. I later integrated the Tweepy API to automatically send out Twitter updates announcing new uploads. The channel quickly gained traction, surpassing three million views within its first month, and I was even offered a job opportunity by a Twitch streamer to manage their clip channel. The code is available on my Github. Beyond the success of the project, it provided valuable experience working with REST APIs, particularly Google’s API ecosystem, and reinforced my ability to create automated solutions that deliver real value.

  4. Electric Longboard (2021)

    (Electrical)

    After graduating college and moving to a new state, I wanted a practical and fun way to explore the area. Instead of buying a bicycle, I decided to design and build my own electric dropdeck longboard. I chose a dropdeck design to take advantage of the board’s angle for added stability and leverage during acceleration and braking. After sourcing a deck, motor, mount, batteries, electric wheels, speed controller, and remote, I encountered an early challenge: the motor mount did not fit the trucks. Rather than replace the trucks, I modified them by carefully sawing and sanding until the mount fit securely. I then assembled the drivetrain, wired the electronics, and custom soldered the system with a kill switch for safety before programming the speed controller to pair with the remote. The board performed well during testing, reaching speeds of about 30 mph with a battery life of roughly 1.5 hours, allowing me to explore the entire town. As I began riding at night, I enhanced the design by integrating a microcontroller driven LED lighting system for headlights and brake lights. Over years of use, the batteries, motor, and belt have worn down, but the longboard remains one of my favorite projects. It challenged me to solve unexpected hardware integration problems, strengthened my skills in circuit design and microcontroller programming, and gave me the confidence to build practical, real world engineering solutions from the ground up.

  5. COVID Data Visualizer (2020)

    (Python) (HTML) (CSS) (Javascript)

    This project was inspired by an ECE-331 Homework which I put on Github. As COVID cases were just starting in the U.S. at the beginning of 2020, my professor thought that it might be a good idea for us to visualize COVID data. So we pulled the data from Johns Hopkins on Github. The data was then filtered and plotted via Matplotlib so that I could view all countries. Originally, the homework just plotted all the countries at once and did not have a way to filter down the data to just view a certain country and certain stats. Once we got sent home because of COVID, I went back to my ECE-331 homeworks and instead of just plotting it via matplotlib, I created a simple website to pick which country to look at as well as the statistic (Cases, Deaths, Incident Rate, etc.). The plotting was done via chart.js. During 2020 when I was back home, I would check the site pretty consistently to see how bad COVID was getting not just in the U.S. but around the world. Unfortunately, when I went back to look for the code, I could not find it (probably was on my school laptop's corrupted drive). Maybe one day I will quickly recreate it for this portfolio website. To improve on the original, I would have it so that you can plot multiple countries on a single plot instead of just one. Additionally, I think it would be neat to be able to select the countries from a world map instead of a dropdown.

  6. Smart Bike Helmet (2019/2020)

    (Electrical) (C)

    For my senior capstone project, my partner and I developed a wearable device for mountain bikers that could track performance data and automatically alert an emergency contact in the event of a crash. The idea was inspired by my partner’s own injury from downhill biking. Despite being advised to avoid Bluetooth due to its complexity, we chose to incorporate it and ultimately overcame the challenges it presented. Our design and source code are available on Github. My contributions focused on PCB design and portions of the device firmware. I began with the charging and power subsystem, refining the design over two iterations before finalizing it, then moved on to the full board layout. Through this process, I gained valuable experience with PCB fundamentals such as component placement, trace routing, width and spacing considerations, and effective grounding techniques with planes and vias. Our first full prototype functioned well in C, although Bluetooth performance was inconsistent. To resolve this, I redesigned the PCB and integrated a new HC-05 Bluetooth module, which offered robust documentation and reliable communication. With the improved design, Bluetooth functionality became nearly flawless. The final system successfully captured velocity, acceleration, and angular data from an accelerometer/gyro, processed it through equations, and transmitted the data to a mobile app that also sent alerts if a large impact was detected. This project taught me resilience in the face of technical setbacks and gave me hands-on experience bridging hardware, firmware, and wireless communication to solve a real world engineering problem.

  7. Wifi-Controlled Tank (2019)

    (Electrical) (C) (HTML) (CSS) (Javascript)

    For one of my classes, we were given creative freedom for the final project, so my roommates and I designed a fully functional Raspberry Pi based tank with both practical and humorous features. We set goals for the system to be joystick controlled, provide a live video feed, incorporate custom 3D printed components, and display both memes and real-time weather data. The build included a Raspberry Pi with a Pi camera, three displays, dual motors with drivers, LEDs, a button interface, and battery power. With access to a 3D printer through our roommate and the 3D printing club, we quickly fabricated the body and mounts. We developed a locally hosted website with a virtual joystick and live Pi camera feed for navigation. Joystick inputs were logged to a Google Firebase database, which the Raspberry Pi then pulled from to determine motor commands for movement. The system’s displays were programmed to show stored memes as well as web sourced weather data, while the button cycled through meme selections. LEDs provided visual indicators, such as illuminating when the tank was in reverse. Our code is available on Github. This project gave me hands-on experience integrating hardware, software, and web technologies, while also demonstrating the creativity and teamwork that engineering projects can inspire.

  8. Music Lights Visualizer (2018)

    (Electrical) (Python)

    I was inspired by Devin Crawford's YouTube project on music reactive lights and set out to build my own version. Unlike his Arduino based design, I used a Raspberry Pi, which I had recently won for placing first in UMaine’s ECE-101 Competition. At the time, I had little knowledge of Raspberry Pi programming or circuit design, so I used his circuit as a reference while teaching myself the fundamentals. The project, which I documented on Github, introduced me to concepts such as Python programming, LEDs, SPI communication, analog-to-digital conversion, musical frequency analysis, and operational amplifier design. Because I enjoyed the project so much, I continued refining it over the years. Initially, the OpAmp overamplified certain songs and caused the LEDs to remain fully on, so I replaced a resistor with a potentiometer to allow live amplification adjustment. I later built a duplicate circuit to display left and right audio channels separately, experimented with color gradients to better visualize frequencies and volumes, and even adapted the colors to match holiday color themes, which made the project especially popular with friends and family. One limitation I never finished solving was separating the influence of frequency and volume, since the capacitor discharge made both appear similar at high volumes or frequencies. Notably, I created this project before taking a Digital Signal Processing course at UMaine, where formal training would have helped me approach the challenge more effectively. Overall, this project expanded my skills in hardware, software, and signal processing and strengthened my ability to learn independently through experimentation.

  9. Minecraft Calculator (2015)

    (Digital Logic)

    In my early teens, I began creating contraptions in Minecraft using Redstone, building combination locks, doors, traps, and other systems I had seen in online videos. Without realizing it, I was learning digital logic design concepts through play. When my older brother, an electrical engineering student, explained the connection, I became even more interested. During the summer before my senior year of high school, I chose to read Digital Logic Circuit Analysis and Design for my AP Literature independent project while most classmates selected fiction. From this textbook I learned about digital logic gates, Karnaugh maps, two’s complement, and the fundamentals of arithmetic logic units. Using these concepts and my experience with Redstone, I built a working calculator in Minecraft that included memory, binary and decimal converters, an ALU capable of addition and subtraction, and simulated seven segment displays. This was my first personal engineering project and the experience solidified my decision to pursue electrical and computer engineering. I went on to design other Minecraft projects, including functional Tic-Tac-Toe and Pong games that tracked inputs and verified win conditions, which I shared on Youtube. These projects not only deepened my technical skills but also sparked the passion that set the trajectory for my engineering career. Minecraft continues to hold a special place for me as the foundation of my engineering journey.

Achievements

  1. 📃 Systems Engineering Certification from NPS (2024)

    Based on recommendations from my supervisor and colleagues, I completed a certificate program in Systems Engineering, recognizing its importance to our work. Through the program, I gained a comprehensive understanding of the process from system concept to a finished product and maintenance, including critical aspects such as budgeting, scheduling, and project planning.

  2. 📃 ASW Certification from NPS (2022)

    My supervisor recommended this certificate program to support my growth as I was still relatively new. While much of the material reinforced concepts I was already familiar with, and some I had effectively relearned through practical experience, the program nonetheless contributed to solidifying my foundational knowledge. Although it took a year to complete, I recognize the value it added to my professional development.

  3. 📃 B.S. Electrical and Computer Engineering Degree at UMaine (2020)

    After four years, I graduated with a 3.94 GPA, earning a degree in Electrical and Computer Engineering with a minor in Mathematics. Throughout my time at UMaine, I connected with many individuals who inspired me and deepened my engineering knowledge. I will always value the education, relationships, and experiences that shaped my journey.

  4. 📃 Highest GPA in the 2020 Electrical Engineering graduating class at UMaine (2020)

    Although I received the news over Zoom due to the COVID-19 pandemic, it was gratifying to learn that my hard work was recognized and that I am regarded as a dedicated and capable engineer.

  5. 📃 Member of Tau Beta Pi Engineering Honor Society (2019)

    As a member of Tau Beta Pi, I volunteered for campus service initiatives and participated in the induction of new members. Being part of the honor society gave me the opportunity to connect and collaborate with a community of driven and high achieving engineering peers.

  6. 📃 Treasurer of Eta Kappa Nu IEEE UMaine Chapter (2019)

    As Treasurer of the Eta Kappa Nu IEEE Chapter at UMaine, I managed the organization’s finances and helped organize tutoring sessions for first year engineering students. This role allowed me to mentor underclassmen, reinforce core engineering fundamentals, and build stronger connections within the academic community.

  7. 🏅 UMaine Math Competition Award (2016)

    As a freshman at the University of Maine, I participated in a campus wide math proofs competition open to first year students. Motivated by both the challenge and the opportunity, I submitted a set of solutions and earned 3rd place. In addition to receiving a $50 prize, the experience reinforced my interest in mathematical reasoning and problem solving.

  8. 🏅 Class of 2016 Search for Knowledge Award (2016)

    My high school presented four major individual awards to graduating seniors, and I was honored to receive one, the Search for Knowledge Award, selected by faculty for my strong intellectual curiosity and initiative beyond the classroom. I later learned this recognition stemmed from efforts such as independently studying digital logic over the summer and building a working calculator in Minecraft, learning German during my free block, and helping lead the school’s new Robotics program. This award reflected my passion for continuous learning and creative problem solving qualities that have shaped me as an engineer.

  9. 📃 Candidate for the U.S. Presidential Scholar Program (2016)

    I was honored to be one of approximately 4,000 high school seniors nationwide nominated for the U.S. Presidential Scholars Program, which recognizes students for outstanding academic achievement, leadership, and community involvement. Although I was not selected as one of the 161 finalists, the nomination itself reflected a high level of distinction among graduating seniors across the country. You can learn more about it here.

  10. 🏅 Urkunde Für Hervorragende Leistungen Award (2016)

    During a free block in my schedule, I began informally sitting in on a German IV class with the teacher’s permission. What started as just hanging out with friends turned into a genuine interest. I actively engaged with the material, learned some vocabulary and grammar, and even scored a 90 on one of the class quizzes. In recognition of the progress I made without formally enrolling in the course, I was given an award along with a German vocabulary book.

  11. 🏅 Outstanding Achievement in Robotics Award (2016)

    In my senior year, I helped pioneer a new afterschool FIRST robotics club, gaining hands-on experience in mechanical, electrical, and computer engineering. Although my team qualified for the state competition, a severe winter storm prevented us from attending. I was recognized as one of two recipients of a robotics award for my leadership and contributions to launching the program, which strengthened my skills as a multidisciplinary engineer.

  12. 🏅 Computer Aided Design Award (2015)

    I thoroughly enjoyed this class, which combined diagram and specification replication with 2D/3D design and hands-on competitions involving 3D printed cars and boats using AutoCAD. Through the coursework and races, I developed strong skills in both 2D and 3D modeling and deepened my understanding of the 3D printing process. I was honored with an award for outstanding performance in both design assignments and competition results, which significantly enhanced my engineering creativity and technical precision.

  13. 🏅 Pre-AP Calculus Award (2015)

    I found the material in Pre-AP Calculus genuinely engaging, which motivated me to study consistently and master the concepts. At one point, my teacher even placed a marker on my desk and jokingly asked if I wanted to teach the class. I was ultimately awarded for achieving the highest grade in the course.