Systems Administrator · Parkville, Maryland
Seventeen years turning manual operations into automated systems.
AI didn't change the job. It changed what I can automate.
Not a career changer. I run enterprise endpoint, cloud, and security infrastructure, and I build LLM tooling into it to remove the manual, repetitive work that survived every earlier attempt to automate it.
enterprise infrastructure
owned end to end
lost on my watch
Most people building with AI right now have never operated anything that couldn't afford to go down. I have. I was the one who got paged when a mortgage lender's endpoints, identity, or infrastructure broke — and my answer was always the same: automate the failure point so it can't happen twice. What changed is the class of problem I can reach. The processes that resisted scripting were the ones that needed someone to read, judge, and decide. Those are in range now. I'm not reinventing myself as an AI researcher. I want to be the systems person who knows exactly where AI belongs in production infrastructure — and where it doesn't.
Track Record
Same job. Longer lever.
Find the manual, repetitive, error-prone process. Replace it with something reliable. That's been the job all along. AI is the first tool that reaches the steps scripting never could — and knowing which steps those are is the part you can't learn from a course.
Automating endpoint operations at scale
Deployed and scaled Tanium across the organization's device fleet, then went further — writing custom scripts and GraphQL API integrations to automate operational actions like remote reboots and compliance remediation. The practical result: a technician no longer has to touch a machine, or interrupt the person using it, to bring it back into compliance.
- Tanium GraphQL API
- PowerShell
- Compliance automation
An assistant wired into the systems I run
Designed and built an internal IT operations assistant in Google Gemini AI Studio — system prompts, tool schemas, and self-correcting logic wired into that same Tanium GraphQL API plus Zendesk, so it could investigate and act, not just answer. It worked because I already knew which questions were eating the helpdesk's day and which actions were safe to hand over. Demonstrated to leadership and recognized for its reliability and its potential to scale IT support.
- Gemini AI Studio
- LLM tool calling
- Tool schemas
- Self-correcting logic
A retrieval system I run every night
A local retrieval-augmented generation stack over my own research notes — built, deployed, and scheduled, not demoed. Ollama produces the embeddings and ChromaDB persists them; a SHA-256 manifest makes re-indexing incremental, so unchanged notes cost nothing to re-run. Search over-fetches by cosine similarity and then re-ranks on a blend of similarity, literal word overlap, and title match, because pure vector search drifts on short queries. Citations are enforced in code: an answer that arrives without a source marker is withheld rather than shown, so the system can fail loudly instead of confabulating quietly. A scheduled job runs at 2 AM, finds older notes that still match what I wrote that day, and writes questions into the next day's file. Entirely local — no API keys, no per-query cost, nothing leaving the machine. The graph in the hero above is this system's output.
- Python
- RAG
- Ollama
- ChromaDB
- Embeddings & re-ranking
- Grounded citations
- Scheduled jobs
Open Source
Built in the open
Three shipping side projects. Two have nothing to do with AI — one moves a file between phones using nothing but a screen and a camera, the other answers where your disk space went in under a second. They're here because the layer underneath the model is the layer that decides whether anything you build on top of it stays up. The third is the ingestion pipeline feeding the retrieval system above.
Repo · Kotlin / Android
LumenLink
Transfers a file between two Android phones over nothing but light. The sender renders Luby Transform fountain codes as QR frames at 30 fps; the receiver's camera rebuilds the file from any sufficiently large handful of them. No network, no pairing, and no back-channel — the receiver can never ask for a resend, so the sender simply never stops. Dropped frames, camera blur, and joining mid-transfer become fewer frames rather than failures.
- Kotlin
- Jetpack Compose
- CameraX
- Fountain codes
Repo · C# / .NET 8
SpaceTree
A Windows disk space analyzer that scanned 12 GB across roughly 50,000 files
in 616 ms. A lock-free LIFO work stack drained by up to 64 worker threads,
directory enumeration batched through GetFileInformationByHandleEx at
~600 entries per syscall, and file entries stored as value types in flat
per-directory arrays to keep the garbage collector out of the hot path. Results
render as a sortable Explorer-style tree and an interactive treemap, both updating
live mid-scan.
- C#
- .NET 8
- WPF
- Multithreading
- 137 unit tests
Repo · Python / Claude Code Skills
obsidian-ingest-skills
The ingestion layer for the retrieval system above, packaged so anyone can run it. Two Claude Code skills that turn articles, papers, PDFs, and conference talks into atomic, linked notes in a Markdown vault. They are deliberately not summarizers — a summary is a worse copy of the source, and nothing ever links to it. They extract claims: one idea per note, titled as an assertion, each citing the page or timestamp it came from so it stays checkable a year later. The Python half handles extraction and renders only the pages and frames whose meaning lives in pixels rather than words. The judgment half stays with the model. No hardcoded paths, and it runs against a plain Obsidian vault with no backend at all.
- Python
- Claude Code Skills
- PyMuPDF
- trafilatura
- faster-whisper
- ffmpeg
Service Log
Seventeen years, one employer, escalating scope
-
2004 — 2008
Technical Support Specialist, TechConnection
Stevenson University · Maryland
Campus helpdesk for a high-volume, diverse user base — hardware, software, network, and account issues, plus the customer-service instincts that a pure technical career rarely teaches.
-
2008
B.S., Computer Information Systems
Stevenson University
-
2009 — 2026
Systems Administrator, First Home Mortgage
Maryland
Owned the endpoint, cloud, and security posture of a financial services organization's device fleet end-to-end — through platform migrations, a growing attack surface, and the arrival of AI as a practical operations tool.
- Built & ran a hybrid Intune / SCCM environment for fleet-wide imaging, compliance, and software distribution.
- Deployed and scaled Tanium for endpoint visibility and patching; wrote custom GraphQL API integrations to automate remote actions like reboots.
- Owned Azure VM infrastructure, backup, and disaster recovery, plus Druva cloud backup for business continuity.
- Hardened the endpoint security stack — CrowdStrike Falcon, GlobalProtect VPN, Credential Guard, Windows Hello, MFA.
- Automated broadly across Microsoft 365 and system administration with PowerShell.
- Designed & built an internal AI-powered IT operations assistant — the first time the automation could handle the judgment step, not just the click.
-
Ongoing
Professional Development
Microsoft Azure Fundamentals coursework
Instrument Panel
What I operate
The infrastructure stack is a career deep. The AI stack is about two years deep, and listed honestly — what I've built with, not what I've read about.
Cloud & Virtualization
Security & Data Protection
Scripting, APIs & Admin
Retrieval & Prompting
AI Wired Into Systems
Open a Channel
Let's fix the thing everyone's stopped mentioning.
I'm looking for a systems, infrastructure, or platform role where building with AI is part of the job rather than a side project — Senior Systems Administrator, Infrastructure or Platform Engineer, IT Automation, AIOps. The work I want is the long-standing architecture and efficiency problem everyone has quietly learned to live with, solved with AI tooling by someone who'll still be accountable for it at 2 AM.
Status: open to systems, infrastructure & IT automation roles · Parkville, MD · open to remote