Projects

Interesting or impactful projects.

Project Details

I designed the service and led the team that built out a microservice that emulated the device data being sent to our primary ECG-collection backend service (ECGBE). This service also performed all the setup and tear-down of all required assets across multiple systems, such as:

  • Creating a Patient
  • Parsing the desired upload settings from an uploaded Excel doc
  • Registering the "device" (signaling to the ECGBE that this virtual device was legitimate)
  • Creating patient-reported symptoms, based on the original recording.

The service included a user-friendly set of web pages, as well as a REST API where uploads could be started, monitored, or cancelled. It also included a backend simulation program that ran off a Service Bus Queue. This simulation program could scale up or down based on the number of active uploads in the queue. The simulation program could also operate in an "accelerated" state, uploading data far faster than real time, which allowed testing of the ECGBE in a fraction of the time it would normally take with a physical device.

Because both sides of this application were hosted on Azure Functions, the system was lightweight and was tested and verified to handle over 2,000 concurrent device simulations.

Fun fact: the project name CAMino comes from the Star Wars planet "Kamino" (the cloners). Since the original data we based the simulation on was called "CAM" data, the name suggests that we were cloners of the CAM data.

Why This Matters

The CAMino project transformed the engineering lifecycle from a hardware-constrained bottleneck into a high-velocity, software-driven process. The impact of this system can be summarized by three key pillars:

  • Massive Throughput & Risk Mitigation: By emulating 2,000+ concurrent devices, the team could subject the backend to extreme stress-test scenarios that were previously impossible with physical hardware. This ensured system stability and identified edge-case failures long before they could impact real-world patients.
  • Drastic Reduction in Test Cycles: The "accelerated" upload state bypassed the physical limitations of real-time data transmission. Testing that originally took hours or days was condensed into minutes, allowing the development team to iterate faster and move closer to a true Continuous Integration (CI) model.
  • Operational Autonomy: By automating the complex orchestration of patient creation, device registration, and symptom reporting, we removed the need for manual database manipulation. This empowered QA and neighboring engineering teams to spin up fully-featured test environments on demand via a simple web interface, saving hundreds of collective engineering hours.

Technologies:
Azure DevOps (ADO) Linux Azure Cloud Flask PostgreSQL REST APIs CI/CD Pipelines Python SQLAlchemy

Project Details

I created a Slack bot that received information from GitLab about merge requests, stored the relevant information to display on a custom dashboard in Slack, and notified team members accordingly if they had tasks that needed their attention.

Why This Matters

This integration bridged the gap between the development environment and the team’s primary communication hub, creating several critical business advantages:

  • Accelerated Development Velocity: By reducing the average response time for Merge Requests by 15 minutes per action, the bot eliminated "idle time" in the development cycle. This compounded across the team to significantly increase the number of features and fixes shipped per sprint.
  • Reduced Context Switching: Engineers no longer needed to manually poll GitLab or check emails for updates. Bringing actionable notifications directly into Slack allowed the team to stay focused on their IDEs, preserving "deep work" states and reducing cognitive fatigue.
  • Enhanced Team Accountability: The custom dashboard provided a single source of truth for the team’s workload. By making pending tasks visible and transparent, it eliminated communication silos and ensured that critical blockers were addressed immediately rather than languishing in an inbox.

Technologies:
Docker Linux PostgreSQL GitLab Google Cloud Platform (GCP) Django Python

Note: this project is still a work in progress. For more information see the Github Link Here.

Technologies:
GraphQL Python Twine/Packaging GitHub Python