Professional Experience Highlights

Software Engineer for a Custom CRM System - I built a web app using a modern tech stack: Vue.js, Tailwind CSS, FormKit, Pinia, PostgreSQL, and Turbo Monorepo. I developed the UI from the ground up while collaborating on a small team (3 people) to meet with stakeholders, document their requirements, and iterate on UI designs and implementation. My Vue.js pages brought to life our stakeholders’ vision, enabling them to centralize and steamline their process for tracking and winning contracts. Before this app, our client’s processes had involved manually creating and emailing documents to each other. The client stakeholders were impressed by what we built, and were excited by how our app would transform the way they work.

Software Engineer for a Data Visualizations Project - I built custom charts for Power BI reports using pbiviz, Highcharts, and TypeScript. The charts were backed by SQL views that queried data from blob storage. I also created Power Apps UI controls and connected them to Power Automate flows to update the underlying data sources. Developed an Azure Logic App that was wired to our data source via Azure Event Hub. When data changes were detected, the Logic App queried the data for specific patterns and reported them via a Microsoft Teams message. Read my blog post to learn more about creating custom charts for Power BI.

Test Lead / Engineer for a Smart Home System - I used Playwright and Appium to build an automated test suite to verify the behavior of an Android-powered device. The tests not only verified the Android app’s UI behavior, but also the device’s communication with other system components over a serial communication bus. That was a fun technical challenge! I planned multiple test suites to verify the system at different levels (unit, integration, component, and system), and developed a detailed plan for how to test each release of the software based upon risks and product maturity.

Test Engineer for a Mobile Medical Website - I created a new test strategy from the ground up and built verification and integration test suites for the entire system, including automated and manual test scripts. I crafted the test suites to serve both the client’s quality policies and the technical constraints of the product. Achieved 100% requirements coverage. Test tools I used included Playwright and Applitools.

Test Lead / Engineer for a Medical Web App - I verified a data visualization portal, built using Angular. My role involved requirements analysis, test planning, tool qualification, test implementation, requirements coverage and traceability. I developed automated verification tests, automated visual tests, and wrote a few manual testing procedures. My role involved leading other testers, reviewing their code, and coordinating our efforts to meet quality and timeline expectations.

Software Engineer for a Fleet Management Portal - I was part of a small team that developed a React app for tracking and optimizing the usage of heavy machinery across an entire fleet.

Software Engineer for a Race Car Aerodynamic Modeling - I was part of a small team that developed an app to model the aerodynamic properties of a race car, such as downforce and drag. We were able to quickly turn around a solution that met our client’s goals, and helped them win! Built using C# and WPF. See this overview for a lot more details.

Personal Projects

Descent Level Parser - A command-line tool that can parse the level file format from Descent, a first-person shooter video game from 1995 by Parallax Software and Interplay. The game provides players with six degrees of freedom, and was the first FPS to feature true 3D environments and enemies. I built this level parser to read the game’s level geometry and output a OBJ file that can be imported into a 3D modeling tool such as Blender.

Applitools Demo - A walk-through of how to use Applitools with Cucumber, Protractor, and Chai to verify the visual appearance of Angular apps. I’ve had good success using Applitools, and want to share what I have learned. My walk-through is a micro-course on how these tools can be used together to create an awesome verification testing setup, and my example repo demonstrates the result of that process.