Open to cybersecurity, cloud & infrastructure roles

Built for the Field

Hardened. Recoverable. Offline-first.

Andrew Castor

Infrastructure & Security Engineer

Infrastructure and security engineer with 2+ years deploying healthcare IT and secure networks in production and austere field environments. Now heading into UCF's NSA-designated cybersecurity program on an accelerated B.S. to M.S. track. I build hardened Linux deployments, multi-site networks, and offline-first clinical systems: the kind of constrained, high-stakes environments that translate directly to cloud security and cleared work.

[Flagship Project]

MMDM · Offline-First Clinical Platform

Deployed 2026 · Ongoing

Medical Missionaries of Divine Mercy · Houston → Costa Rica · 2024–Present

Purpose-built offline clinical platform for a six-clinic volunteer medical mission across a four-building parish campus in Costa Rica. Started as an OpenEMR rebuild on Linux; evolved into a custom Node.js / SQLite / React system designed from first principles around the mission's actual constraints: no internet, non-technical volunteers, and hundreds of patients in a single week.

 

Clinics

 

Patients · 40 hrs

 

Users Trained

 

Operations Posture

Problem

Corrupted Windows XAMPP stack with Aria storage engine failure. Paper forms across six clinics. No backups, no encryption, no recovery path. Mission-critical with zero connectivity guarantee.

Solution

Rebuilt as a purpose-built Node.js / SQLite / React application running as a single process on a dedicated Linux machine. SQLite replaces MariaDB: one file, no server to configure. React frontend served as static files. systemd auto-start with no manual steps after reboot. Hourly automated backups using SQLite's online backup API. All dependencies installed before the mission; zero internet required during operation.

Impact

Replaced 20+ years of paper workflow with structured clinical data. Five clinic forms co-designed with named clinic leads, touch-optimized for tablet use by first-day volunteers. Reboot-tested for autonomous operation in the field; recoverable from hardware failure with no network engineer present.

Node.jsSQLiteReactLinux (Kubuntu)systemdTailwind CSSLAN-onlyOffline-firstRBAC
Read full case study
[Technical Capabilities]

What I Work With

Cloud & Security
Microsoft AzureEntra IDMicrosoft 365SharePointIAM/RBACACLsTLS/HTTPSleast-privilege designvulnerability management
Infrastructure
LAN/WANWi-Fi 6 meshDHCP/DNSActive DirectoryLinux server administration
Healthcare IT
Offline-first clinical systemsCustom EMR (Node.js · SQLite · React)OpenEMROpenMRS
Programming & Tools
PythonC#JavaScript/TypeScriptPowerShellSQLGit/GitHubAWS (learning)Splunk SIEM (home lab)TryHackMe SOC L1

Certifications

CompTIA Security+CompTIA Network+Google IT Support ProfessionalAzure AZ-500(in study)
[Other Work]

Additional Projects

air.grid - Live U.S. Air Quality & Emissions

Live 2026

Geospatial / Data

Live atlas of what's in the air across the U.S.: industrial emitters sized by emissions, real-time air quality sensors, and the schools and neighborhoods next to them, together on one interactive map. 268,980 facilities, 15,897 live sensors, real proximity joins, no mock data.

  • Built and deployed in one day (Handshake AI Projects challenge, June 1, 2026) using Claude Code's multi-agent system: parallel ingestion subagents coordinated through a frozen data contract, with sequential gates for schema, joins, and QA.
  • Pulls from 6 federal sources (EPA ECHO, FRS, TRI, GHGRP, NCES, Census ACS) plus AirNow, PurpleAir, and OpenAQ sensor networks; a geo-matcher joins 108,336 schools to their nearest emitters with scipy cKDTree.
  • deck.gl over MapLibre renders 10k+ points at 60fps, with independent toggle layers for facilities, air quality, schools, demographics, and NWS wind drift.
  • Hourly scheduled job keeps sensor readings live; every figure shows its timestamp and source, and an Analysis view ranks regions and surfaces the most-exposed campuses.
Next.js 14TypeScriptTailwindMapLibre GLdeck.glRechartsPythonscipy cKDTreeVercel

Atlas · Cinematic 3D Travel Globe

Live 2026

3D / Geospatial

Interactive 3D globe pinning everywhere I've lived, vacationed, and done mission work, plus everywhere I plan to go. Styled after the Apple lock-screen Earth: deep space, city lights, atmospheric scattering, soft bloom. Custom-built with three.js and globe.gl plus hand-written GLSL; no UI kits, no state libraries.

  • Custom day/night shader pipeline: normal-mapped terrain, soft terminator blend, isolated and boosted city lights, Blinn-Phong ocean glint, and rotating cloud shadows cast onto the surface.
  • Camera-relative sun direction recomputed every frame so the lighting reads cinematic from any angle; the day/night toggle sweeps the terminator across the globe in about a second.
  • Procedural starfield of 4,500 stars from a seeded PRNG, identical on every load, with per-star size and color tiers for a realistic luminosity distribution.
  • Automatic performance mode detects software rendering and low-RAM devices before any WebGL allocation, then falls back to lite shaders, no MSAA, and halved geometry for roughly 50x less fill work.
  • 107-node append-only place tree validated at build time; URL-hash deep links fly the camera straight to any pin.
Next.js 14TypeScriptthree.jsglobe.glCustom GLSLTailwind CSSStatic export

Emergency Evacuation Guidance Device

Prototype

Embedded · IoT

ENGR 1201 · Houston City College · Spring 2026

Handheld emergency evacuation device that computes and displays real-time escape routes from live temperature sensor data. Routes rebuild automatically as heat develops; reroutes around blocked zones, escalating through warning states, and triggering Shelter-In-Place when all exits are blocked.

  • 5 DS18B20 probes on a shared 1-Wire bus monitor 10 building zones (6 rooms, 2 hallways, 2 exits), streaming one CSV line per second to the Pi over USB-serial at 115,200 baud.
  • Dijkstra's algorithm via NetworkX rebuilds the optimal evacuation route in under 1 ms on every sensor state change; edge weights are dynamically scaled by zone temperature.
  • D-pad navigation drives a top-down Pygame floor plan; RGB LED and piezo buzzer mirror the active threat state in real time.
Raspberry Pi 4ESP32Python · PygameNetworkXUSB-SerialSystemd

foreCastor

Private

Finance · Personal

A PIN-locked personal finance tracker with live bank integration, spending analytics, and a long-term savings goal engine, built entirely for personal use.

  • Connected to the bank via the Plaid API to automatically import, normalize, and categorize transactions without manual entry.
  • Tracks a long-term savings goal with a compound-growth projection chart and a target date that changes color based on whether you're on pace.
  • Per-category monthly spending limits with live progress bars that shift from teal to amber to red as you approach and exceed your budget.
  • Scans transaction history to detect recurring charges and suggests adding them to your fixed expenses list automatically.
  • 31 unlockable achievements tied to real savings milestones, income streaks, and usage habits, with rarity tiers styled after Steam.
Next.js 15TypeScriptTailwind CSSCloudflare PagesSQLitePlaid API
[Contact]

Build systems that hold up.

I am open to cybersecurity, cloud, and infrastructure roles: internships, co-op, contract, or full-time.