About

I’m an IT Systems Administrator with a background in automation, virtualization, and cybersecurity within healthcare environments. I focus on building resilient and secure infrastructures that simplify operations, reduce costs, and enhance compliance.

I enjoy leveraging tools like PowerShell, Python, and Docker to automate processes and optimize system performance. My experience spans from managing virtual clusters and network segmentation to developing monitoring dashboards and SIEM integrations.

Experience

Computer Operations Specialist Lake Butler Hospital | Jan 2023 – Present

Infrastructure & Virtualization

Security & Compliance

Automation & Process Improvement

Military Intelligence Analyst U.S. Army | Jan 2014 – Oct 2019

Technical Skills

Education

Bachelor of Science in Information Systems and Technology | Spring 2026
Santa Fe College, Gainesville FL

Projects

Problem

When I joined my current organization, the on-premises server infrastructure relied heavily on virtual machines for every application or service. Each VM often hosted multiple applications, creating several challenges:

  • Maintenance conflicts, updates or reboots disrupted unrelated services.
  • Resource inefficiency, many VMs were underutilized but still consumed full OS overhead.
  • Inconsistent environments, dependency and version mismatches between systems.

Solution

I proposed and implemented a containerized infrastructure using Docker to modularize and isolate services while simplifying updates, scaling, and recovery processes.

Implementation Overview

I designed a single Docker host that manages multiple applications and internal services via Docker Compose. Each service runs in its own isolated container (or stack) with persistent storage and network segmentation to maintain data integrity and security.

Example High-Level Structure


    /docker
    ├── documentation-platform/        # Knowledge base (Bookstack)
    ├── service-desk/                  # IT asset & ticket management (GLPI)
    ├── monitoring-stack/              # Grafana + PostgreSQL
    ├── reverse-proxy/                 # Nginx reverse proxy + automated SSL
    ├── project-management/            # OpenProject & Planka
    ├── analytics-dashboard/           # Internal Flask web app (custom Python)
    ├── source-control/                # GitLab self-hosted runner
    ├── security-monitoring/           # Wazuh stack
    └── misc-apps/                     # Internal utility services
        

Each directory contains its own compose.yml file, environment variables, and configuration assets. I also introduced standardized naming, network conventions, and volume mounts for uniform backups and updates.

Key Features

  • Nginx Reverse Proxy: Centralized routing for all web services with automated SSL.
  • Containerized Databases: MySQL/PostgreSQL instances isolated per service to prevent cross-dependency issues.
  • Automated Backups: Cron-driven container jobs for daily volume exports to off-host storage.
  • Metrics & Monitoring: Grafana dashboards for container uptime, CPU, and memory metrics.
  • Security Integration: Wazuh SIEM containerized for system log analysis and compliance visibility.
  • Scalability: Each service deploys independently, minimizing downtime and simplifying updates.

Impact

  • Improved update and recovery times; most services restart in seconds rather than minutes.
  • Enabled consistent deployment practices across development and production.
  • Improved documentation, visibility, and maintainability of IT infrastructure.

Overview

Implemented a centralized Nginx reverse proxy for internal applications, handling SSL termination, domain routing, and load balancing across multiple Docker services.

Key Features

  • Automated SSL certificate issuance and renewal using Certbot with Cloudflare DNS integration.
  • Unified reverse proxy configuration for Bookstack, GLPI, Grafana, and other internal apps.
  • Centralized certificate management — one SAN certificate for all subdomains.
  • Container reload automation to apply new certificates without downtime.

Impact

  • Eliminated manual SSL renewals and downtime caused by certificate expiration.
  • Simplified onboarding for new internal apps with plug-and-play Nginx blocks.
  • Standardized internal HTTPS security with consistent configurations.

Overview

Developed a full-stack inventory management system to track IT assets across departments. The application is fully containerized and accessible through a simple web interface for authorized users.

Architecture

  • Backend: Flask REST API handling CRUD operations with PostgreSQL.
  • Database: PostgreSQL container for persistent data storage.
  • Frontend: HTML/JavaScript interface with real-time updates via AJAX.
  • Orchestration: Docker Compose stack for unified deployment of all services.

Key Features

  • Secure authentication via Basic Auth and environment-based credentials.
  • Full CRUD API with Flask endpoints for inventory management.
  • QR code generation and printing for asset labeling.
  • Real-time search and filtering through JavaScript frontend logic.

Impact

  • Replaced manual inventory tracking with a centralized web system.
  • Reduced data entry errors and improved visibility across departments.
  • Improved reporting speed and data accuracy.

Overview

Built a data ingestion pipeline and visualization dashboard to analyze historical email data. Combined a custom Python multiprocessing script with PostgreSQL and Grafana to enable large-scale data analysis.

Components

  • Python Script: Parses and processes email archives (.eml files in ZIPs), extracting metadata for analysis.
  • PostgreSQL Database: Stores email records including sender, recipient, subject, and timestamps.
  • Grafana Dashboard: Visualizes email trends, search queries, and metadata insights.

Key Features

  • Multiprocessing ingestion using Pool for high performance.
  • Hash-based deduplication to prevent redundant imports.
  • Bulk inserts for optimized PostgreSQL performance.
  • Custom time range selectors and variable filtering in Grafana.

Impact

  • Processed and visualized thousands of email records efficiently.
  • Enabled quick search and audit capabilities through Grafana.
  • Improved visibility into communication metadata for compliance tracking.

Overview

Designed and deployed an internal phone directory web application using Docker containers for both the backend and frontend. The system allows authenticated users to search, filter, and view extension data via a clean web interface.

Architecture

  • Flask API (Backend): Serves RESTful endpoints to retrieve extension data via GraphQL queries.
  • Nginx Frontend: Hosts static files (index.html, images, and scripts) and proxies API traffic.
  • Environment Management: Sensitive values stored in a .env file and read using python-dotenv.
  • Dynamic Configuration: Frontend reads API URLs from config.json to decouple frontend and backend.

Key Features

  • Token-based authentication for secure API access.
  • Two-container architecture managed by Docker Compose.
  • Dynamic search and filtering via JavaScript on the frontend.
  • Automatic rebuild and deployment through Compose orchestration.

Impact

  • Centralized staff contact information in one internal tool.
  • Improved performance and maintainability with container separation.
  • Enabled consistent deployments with standardized environment files.

Automated a multi-step Excel data cleaning process that previously took over an hour each week. The new Python script validates, normalizes, and exports structured data in seconds, improving efficiency and accuracy.