My Projects

See personal projects at the bottom!

Showing projects using Python · Clear filter

Work Projects

Proactive Work Campaigns · Automation app to create bulk tickets for devices outside of compliance/matching conditions

April 2025 – Present

  • Initially built in Streamlit, with a MySonicWall cloud integration for generating tickets to schedule and patch vulnerable firewalls
  • Expanded scope to Liongard Metrics based campaigns and NinjaRMM device campaigns
  • Integrated data from MySonicwall, ITGlue, ConnectWise, and Logicmonitor to get comprehensive overviews on which firewalls were missing from systems
  • Migrated from Streamlit to FastAPI backend and React frontend while preserving functionality and maintaining project continuity

On-Call Manager · Wrote internal tool to display and manage on-call shifts

January 2024 – Present

  • Initially built for internal NOC use, started as a simple data display tool
  • Once migrated to a FastAPI backend, integrated automatic rotation based schedule generation
  • Tool includes the ability to swap shifts dynamically without affecting the larger rotation, and implement minute by minute overrides for short coverage bands
  • Recently upgraded to support the wider Support on-call system, automatically placing and updating entries on a shared calendar, as well as setting up call forwarding within 30 seconds of a shift change
  • With the support rotation inclusion, schedule generation takes 1 hour versus the previous 4+, and automatic call forwarding rules save 30-60 minutes every week

User Manager · Web app and backend API to support automation user onboardings and offboardings

November 2023 – Present

  • Initially built as a CLI app using Typer and Python to automate simple AD and Entra tasks like department assignments
  • Converted to a Flask app for more comprehensive one off automations, and beginning to integrate third party vendor APIs
  • Improved the app further by converting backend to FastAPI, and frontend to React, and integrating with more APIs
  • Added full process tracking for account provisioning status across external and internal systems as well as generating projects in the PSA
  • Integrated idempotent resumability for failed jobs
  • Fully automated process with auto trigger based on Workday synchronization to Entra

Internal MCP · Built internal MCP to interface with Service Catalog and on-call calendars

August 2026 – September 2026

  • Wrote and deployed an internal MCP for a Service Catalog, to improve information distribution
  • Integrated a separate MCP for on-call interfacing, utilizing the same container via a FastAPI router
  • Implemented RBAC inherited from the backend API utilizing OAuth/MSAL

Migrate multiple backends to FastAPI · Synthesized multiple apps on various frameworks into a single unified FastAPI app

May 2026 – August 2026

  • Planned and implemented the migration of 2 Flask apps, a Streamlit app and an existing FastAPI backend
  • Implemented robust testing at each stage and migrated each app in sequence, validating it was production ready
  • Optimized old logic and fixed architectural issues in old code without compromising functionality
  • Reduced API client and logic duplication across apps to a central source of truth
  • Implemented RBAC and API permissions

Alert Overload · Effort to tune and re-evaluate alerts in various systems

January 2024 – December 2024

  • Building dashboards in Streamlit to pull data from our PSA, SNMP monitoring tools, and backup alerting
  • Reviewing dashboards and data with stakeholders and engineers to prioritize resolution and severity tagging
  • Working with monitoring vendor to understand best practices and configuration, and passing this knowledge on to internal team members
  • Eventually obtained a 60% reduction in ticket volume, with positive impact to service delivery due to better focus and prioritization

Personal Projects

Spotiplex · Open-source Python script/docker container to sync Spotify playlists to a Plex server

October 2023 – January 2026

  • Learned about connecting multiple APIs together
  • Gained experience translating different data structures and schemas
  • Learned about building docker images and deploying containers
  • Increased experience with DevEx/development practices