SIGNAL::WATCH
ProductionZero-dependency Sigma detection engine in Go, with its own YAML parser, recursive-descent condition parser, sliding-window correlation and Teams alerts. 19 tests pass under the race detector.
Source shared on request
Technology Services Manager · Raleigh, NC · Relocating to NYC
I'm the Technology Services Manager at the North Carolina Association of County Commissioners. I design, ship and operate software our staff depend on, and I'm the primary contact for day-to-day IT needs.
These labs use the rules and engines from the real tools, with no sign-in. They run entirely in your browser, and their results are tested against the command-line versions.
Credential security
Paste code or a config file and find exposed AWS keys, tokens and passwords. Matches are redacted, and a content security policy blocks network requests.
Scan some text →Detection engineering
Run brute-force, log-clearing and lateral-movement detections on sample attack logs or your own exported XML.
Analyze a log →Cloud security posture
Fix a fictional Microsoft 365 tenant and watch its score climb from 38 to 100. The Go engine runs as WebAssembly.
Harden the tenant →Research · First model complete
When a stored database record contains instructions or false data, does an AI assistant trust it? I tested Claude Haiku 5.5 across 1,184 trials on a fictional directory. It never obeyed a planted command, but it often believed false data unless warned.
One model, one fictional directory and fixed templates, so these numbers don't generalize. All three defended conditions include the warning. Zero command success doesn't show robustness against an adaptive attacker.
Flagship system
An internal platform I created and maintain, replacing a legacy CRM with one the Association owns. It's staff-only, so there's no public link.
The problem. Staff tracked relationships with county officials in a legacy CRM and their own spreadsheets, so there was no dependable source of truth.
What I built. A FastAPI and SQLite application on a single Azure VM, with Microsoft 365 sign-in, audit logs, nightly jobs and no per-seat CRM licensing. It's now the Association's system of record for 4,300+ contacts across all 100 counties.
How it's run. Daily off-site backups go to geo-redundant Azure storage and were validated with a test restore. A disaster recovery runbook, operations guide and technical reference are kept current, and features ship in phases.
Each status shows where a tool actually runs. "Production" means it's deployed in the environment I administer.
Zero-dependency Sigma detection engine in Go, with its own YAML parser, recursive-descent condition parser, sliding-window correlation and Teams alerts. 19 tests pass under the race detector.
Source shared on request
Daily Microsoft 365 and Entra posture scans using a managed identity and six read-only Graph permissions, so no credentials are stored on the host. AEGIS::GRID is the public version.
Windows Event Log analyzer with 21 YAML rules mapped to MITRE ATT&CK, threshold detections, and JSON, CSV and HTML reports. 27 tests.
Scans file trees and git history for secrets using regex rules, entropy checks and false-positive filters. 65 tests.
Raw-socket port scanner, banner grabber, DNS enumerator and WHOIS client for authorized testing, with no nmap wrappers. 51 tests.
Outage monitor for Meraki and FortiGate networks, built after a recurring DHCP failure. It correlates client counts, probes and DHCP events to suggest a likely cause.
| Tool | What it does | Data |
|---|---|---|
| Recon Toolkit | Passive domain lookup: RDAP, DNS, certificate transparency | Public APIs |
| CVE Explorer | Search the National Vulnerability Database with CVSS filters | NVD API |
| IP Intel | Geolocation, ASN, reverse DNS and blocklist checks for an IP | Public APIs |
| NetForge | Draw and export network topologies with VLANs and subnets | Offline |
| CloudCraft | Plan Azure architectures and export Terraform | Offline |
| Runbook | Build IT procedures and checklists, then export them | Offline |
| FlowState | Design automation workflows visually | Offline |
| BLACKSITE | Red and blue team exercise with a solvable CTF arena | Simulated |
| PHANTOM::RESPONSE | Practice incident response against a NIST SP 800-61 playbook | Simulated |
I use AI coding tools where they help. I decide what gets built, test it against reality and own what ships. These are the kinds of problems that review catches.
A proposed change to a statewide program group looked right in isolation. I checked it against the real membership, saw it would silently remove people, and changed the design.
A draft SIGNAL::WATCH rule required one event to be both ID 4625 and 4624. We removed it and documented the gap instead of shipping false coverage.
While building the Portcullis lab, a fake KEY=AKIA… line came back clean. That exposed a real gap in the CLI's rule, now fixed with a regression test.
NC Association of County Commissioners, Raleigh, NC
Primary helpdesk and IT contact in a hybrid Active Directory and Entra ID environment across Microsoft 365, Azure, FortiGate, Meraki and SentinelOne, working with the Director of Technology Services. Builder of County Connect and the internal IT Hub.
WingSwept (MSP), Garner, NC
Ran quarterly reviews of infrastructure and security posture across 110+ client organizations, and managed onboarding and escalations.
Allied Universal, Raleigh, NC
Supported security operations for 900+ First Citizens Bank branches and supervised 6 to 8 people per shift.
Wake Technical Community College
Also Pearson IT Specialist: Python (2023) and Google IT Support. CompTIA Security+ exam planned for early 2027.
I also build games and small tools for fun, including Drop::Zone, Loot::Roulette and Glitch::Type. At home I run a Proxmox lab on a Dell PowerEdge T430.