Hello, my name is

Nigel Hardy

Software Engineer
Musician

Photo of myself
About me

For me, there is nothing better than taking an idea from start to finish and creating something new.

I started writing software when was in a band and needed a way to bring our recordings to the stage on a budget.

As a band without a keyboardist, competing with DJs and electronic dance music for listeners, I knew I needed a way to add modern synthesizers to our live performances. When I found a guitar pickup that could translate my playing into MIDI to control synths, I saw the potential to carve out my own niche. Soon, I was making plugins for Ableton, programming microcontrollers, and building a custom website to give my band an edge. Software made it possible to bring my ideas to life.

That path started over 10 years ago, and I have been fortunate to work on a diverse set of personal and professional projects. I worked at Boeing for 7 years, where I did everything from low-level C++ programming to using AI to simplify requirements coverage testing. I’m most excited about real-time processing and creating software that is intuitive and satisfying to use. My live performance toolset continues to evolve, and I am preparing a new live set to showcase its capabilities.

My Expertise

My experience includes writing low-level C++ code to interface with third-party hardware. I enjoy taking a set of requirements and a manufacturer’s datasheet, then designing and implementing a service or abstraction layer to utilize the hardware.

I have also had the opportunity to convert multi-node, single-core legacy code into a multi-threaded x86_64 design and implementation. Additionally, I have converted MATLAB algorithms into C++ and optimized real-time processing for more modern architectures.

I have written dozens of tools in Python to automate development tasks and create proof-of-concepts. I have used generative AI to automate various steps of writing code and developing tests. Currently, I am working on an environment that allows me to implement new features and debug problems based on a prompt. It is a working prototype that will soon be able to automatically write tests and debug itself.

Software Development

Whether I'm designing a framework, a component, or a test harness, I will find a way that solves the problem and enables future development. I also enjoy designing and improving workflows with automation that isn't painful to use or maintain.

Embedded Development

I love the challenge of working with low-level hardware and figuring out how to take advantage of its capabilities, as well as working around the quirks. Building things that react to the physical world and process real-time data is my favorite.

AI Engineer

My experience at Boeing and in my personal projects has given me an appreciation of AI's strengths and weaknesses. Paired with a clever engineer, AI can speed up writing code, developing tests, and debugging. It's just not ready to drive you home yet.

Skills

Software Engineering

C++, Python, Javascript, Java, Typescript, C#, and PHP.

Audio Engineering

Modern DAWs for recording and performing.

I’m looking for an opportunity to combine my personal passion with my professional career.

I want to work on novel software and hardware that enables artists to record and perform music in ways that were never possible before. The opportunities AI presents are especially exciting to me because they give musicians all the capabilities of a software engineer without needing to attend “Stack Overflow University.”

Education

California State University Monterey Bay

Bachelor of Computer Science
Cumulative GPA: 4.0

Musicians Institute

Guitar Performance

My Experience

2018-2025

The Boeing Company

Software Engineer

Wrote C++ services on MQ25 to interface with hardware and other services. Developed tests in C# for MC/DC requirement coverage and Python tools to improve team's productivity.

Embedded Engineer

Ported multi-computer (single-core, shared memory) C++ code to multi-threaded x86_64. Designed and implemented abstraction layer between DSP and FPGAs over ethernet.

2016-2018

Glastonbury Inc.

Audio Visual Technician

Designed and setup audio visual experiences for a variety of clients. Wrote scripts to display dynamic schedules on displays throughout a venue.

2017

California Public Utilities Commission

Software Engineering Intern

I improved network analysis software accuracy by nearly 8% in desktop speed testing and designed web-based packet tracing and speed comparison visualizations. Updated mobile application UI/UX and wrote supporting technical documentation.

Projects

Personal Software Projects

Ableton Performance Toolset

My ongoing passion project is a comprehensive toolset for Ableton Live, originally sparked by my band’s need for a MIDI-enabled amp switcher to automate effects while I played synth guitar. Since then, it has evolved into a versatile and dynamic performance system that can activate and deactivate audio resources, control outboard effects equipment via MIDI, and streamline complex live setups. Built within Ableton using Max for Live, the system leverages both JavaScript for sophisticated logic and the Max visual programming language to make the tools accessible and sharable, even for those with little coding experience. Recently, I have integrated a generative AI workflow that allows me to add features or enhancements using prompts, making it easy to quickly expand the system with AI that understands the unique interplay between JavaScript and Max in the context of music performance.

Screenshot of the python code for craiglist ranker project

Craigslist Alert Ranker

For one of my key personal projects, I developed a Craigslist search automation tool that intelligently scrapes listings for anything I’m interested in—cars, apartments, music gear, and more. The tool leverages a custom ranking algorithm to highlight the best opportunities and runs automatically on a Raspberry Pi to send real-time email alerts, letting me act quickly on new posts. Originally built in Java (as a way to learn the language for a post-college interview), I experimented with multi-threading until that promptly got me rate-limited by Craigslist, prompting a rewrite. Today, the project is implemented in Python, designed to work with cloud code for rapid feature expansion, letting me easily incorporate new custom logic. Over the years, it’s helped me land cars, apartments, and a long list of other finds—all before the rest of the crowd.

Automated Home

I built a fully automated smart home system using Python and Django as its core framework. The platform utilizes MQTT through Mosquitto and WebSockets to enable real-time, multi-user control. With secure login credentials, users access a responsive dashboard to manage a variety of devices. The system controls Wi-Fi-enabled lights, communicates with off-the-shelf power outlets by sending and receiving 433 MHz signals, and manages both custom RGB and RGBW lights as well as WLED-based devices. It also automates mosquito lights for additional convenience. Garage door integration adds both remote operation and open-or-closed status detection for enhanced security. This project highlights my ability to combine hands-on hardware development with robust, scalable software design for modern Internet of Things applications.

Personal Hardware Projects

Light fixture

Stepper Motor Light Fixture

I collaborated with a friend and mechanical engineer on the development of a kinetic art installation featuring a light that moves vertically using a stepper motor. He had already experimented with different motors and controllers, but needed assistance refining both hardware safety and the control logic. My focus was on programming advanced features with Arduino, including obstruction detection that triggers a fail-safe mode and a straightforward process for resetting the device. Throughout the project, I learned the intricacies of different stepper motors and microcontroller options, iteratively fine-tuning the setup for reliability and user safety. The end result expanded the project’s capabilities and provided a robust, user-friendly solution for interactive art installations.

MQTT/LoRa Wireless Garage Opener

To solve the challenge of monitoring and controlling a distant garage while renting an apartment, I designed and built a wireless garage door management system using Arduino and a LoRa radio. LoRa is a long-range wireless technology, and implementing it presented an exciting challenge as I developed a simple yet effective protocol to reliably communicate the garage door’s status. After experiencing thefts and constant uncertainty about whether the garage was left open, I wanted a solution that didn’t require carrying a remote or making permanent modifications. My system continuously monitors the door’s state and lets me open or close it from my phone, streamlining daily routines and providing peace of mind. To preserve the original setup, I modified a spare garage clicker by soldering in my own controller, enabling an affordable, minimally invasive installation. I devoted considerable effort to making the system robust and reliable for long-term, maintenance-free operation.

433 MHz Micro-controller enclosures

MQTT 433MHz RF Sender and Receiver

I developed a solution to control and monitor off-the-shelf 433 MHz outlet switches, commonly available on Amazon, integrating them seamlessly into my home automation system. The main challenge was that these devices use basic one-way RF communication, so there’s no feedback to confirm whether a command was successfully received—a particular issue in the noisy RF environment of a city. I engineered a reliable communication protocol and status tracking system, allowing real-time control and visibility of device states from my automation server. This setup enabled me to switch speakers, lights, and other plugged-in devices on and off, all without handling high-voltage wiring or making permanent changes. I also implemented timer controls for safe, time-limited charging of batteries and gadgets, providing a flexible and user-friendly automation feature set using only affordable, safe, plug-and-play components.

MQTT ESP LED Driver

Although ready-made solutions are available, I built my own RGB and RGBW LED controller to have full control and customization over my home lighting. Using MQTT (Mosquitto) for communication, I integrated the controller into my existing home automation system, allowing flexible and programmable light control from anywhere in my network. While the final design remained straightforward, the project was an exciting opportunity to craft a custom MQTT-enabled RGB light, enabling unique behaviors and direct integration with my other smart home devices. This hands-on build gave me the freedom to experiment with lighting logic and automation routines that commercial products don’t typically offer.

Miscellaneous Projects

Here are a few random images from various projects I’ve worked on over the years. I’m not including detailed descriptions for these—just a glimpse into some of the other things I’ve built and explored.

CSUMB Group Projects

Motorsports Visualization Capstone

Most capstone projects are proposed by industry partners, but I made an exception—pitching my own idea and recruiting a collaborator to develop a modular data-visualization tool with machine-learning features for rFactor 2 telemetry. We built a C++ plugin to capture race data and used Python with Dash (Plotly) to present interactive performance graphs. Featured at our capstone festival, the tool improved lap times by over a second on a two-mile course. Although the project files were lost when my school account was deactivated, the experience was invaluable.

I Am Safe website landing page

2017 CSUMB Hackathon Winner

After placing second the previous year, I set out to win the 2017 CSUMB Hackathon, where every project had to aid disaster response. My team built a web-based Safety Check–style app that works without Facebook—perfect for regions where the platform is blocked or unpopular. In just 48 hours, I handled the cloud deployment of our full-stack prototype and helped teammates tackle front- and back-end challenges so we could move quickly. We focused on a simple, scalable design with a clean UI, and our flawless demo impressed the judges. Collaborating under pressure with such talented peers made it an especially rewarding experience.

Continuous Integration page for Web App

Problem Solvent

For our CST438 Software Engineering capstone, my team built a StackOverflow style platform where students and schools compete to solve real-world challenges across any discipline. We applied UML design, unit testing, CI/CD, and agile practices while using Django’s ORM, WebSockets, Google OAuth, and AWS/Heroku deployment. Although our Heroku and CircleCI setups were lost when my school account closed, the project inspired a similar site I later developed for a CSUMB startup.

Facelist: Playlist Generator

This project was an exercise in learning Python and integrating various APIs. OpenCV was used to capture an image from a webcam and identify faces. The image of each detected face was analyzed by Indico to determine the person's emotion. That emotion was then used to select songs on SoundCloud, which were streamed and played for the user via a VLC library. We also added a feature to create a photo strip and save your photos to your computer. The application supported both Linux and Windows, and used Tkinter to create a cross-platform GUI. We had a lot of fun demonstrating our project to friends—everyone loved making faces and hearing the resulting songs.

Game Development Projects

VR Plant Growth Screenshot

CryEngine: VR Plant Growth

Flora Robotica was a four-year EU-Horizon 2020 research project (2015–2019) focused on developing and investigating the symbiotic relationship between robots and natural plants, with the goal of exploring how plant-robot societies might produce architectural structures and living spaces. During my time in school, I contributed to a satellite project as part of my lab, which leveraged virtual reality to simulate plant-robot interactions for use by architects and researchers. Our team built an early prototype in CryEngine with HTC Vive support, offering a photorealistic and interactive platform where users could prototype, manipulate, and observe bio-hybrid systems in real time. We collaborated with German professors specializing in procedural content generation and swarm robotics, enabling the integration of realistic plant growth and robot swarm behaviors in our simulations. By simplifying complex biological models and focusing on simulation infrastructure, our work aimed to make it easier for designers to experiment with and visualize future bio-hybrid environments.

Galactic Explorer Title Screen

Unity: Galactic Explorer

This project was admittedly not the most innovative concept, but the experience I gained working collaboratively with people who had different skillsets was invaluable. I was part of the game development team in California, while the game designers were located in Poland. Working around language barriers and timezones was an interesting challenge that produced a fairly decent game given the timeframe. After using DirectX and C++, it was amazing how much could be done in a short amount of time using Unity. In just a few weeks we were able to go from concept to a fully playable game.

The artists created all the models, textures, and sound effects. We implemented the flight mechanics, weapons, health, damage, enemy behavior, and waypoint system. The objective of the game is to discover four different planets while surviving and destroying all the enemies. Each planet has the potential to unlock a new weapon. The first weapon is a simple lasergun that is slow, does little damage, and has infinite ammunition. The next weapon is a missile launcher that locks on to enemies and does considerably more damage. The final weapon is a laserbeam that deals more damage, but has a limited supply. Defeating enemies and destroying asteriods gives the player boost and ammunition. We weren't reinventing the wheel, but it was fun to actually program the mechanics found in the games we played growing up.

Hackathon 2016 Screenshot

Hackathon 2016

Each team was able to choose from a gamut of community issues, and the objective was to create a video game that would help solve the chosen issue. Our team chose sustainability and created a game that could only be conquered if the player is able to decipher between trash and recycling quickly. We finished in 2nd, but we were proud of our ability to work together, solve the community problem, and have fun at the same time!

There were five of us in the team, but only myself and one other team member had experience using Unity. I had the most experience, so I was happy to step up as the leader. I helped delegate the different tasks, and made sure that we were on schedule to show off our game when the judges showed up. Our game was the most fully featured and stable when the time came, but the rubric for the competition favored potential over delivered results. We placed 2nd, so I shouldn't be compaining. It was a great weekend, and everyone in the group has stayed friends.

DirectX 11 Projects

Solar System Dx11 Screenshot

Solar System

DirectX was fairly daunting at first, but, after the initial learning cure, extremely powerful. Building everything from scratch, instead of using a game engine, was extremely satisfying. The two projects showcased here were two projects I was proud of from a game development course. The first is a solar system with different modes that allow the user to explore and get a sense of scale. Learning about textures, vertices, constant buffers, and how they all come together to make up almost everything found in modern games was fascinating.

Shopping Kart Racer Screenshot

Shopping Kart Racer

The second project was a survival racing game where you control a shopping cart and try to outrun a ghost. Collecting the orange bottles slow the ghost down, and you are racing around a circuit. There are also boost strips that give you extra speed temporarily. There are 3D models, custom shaders, collision detection, and a simple UI. A keyboard or controller can be used to control the player. There is also an original soundtrack written by myself. Sometimes I really enjoy getting down and dirty in DirectX rather than relying on a fancy game engine. Although, I have definitely gained more appreciation for what a game engine provides after this class.