The tools I use to build, manage, and automate.
MDM enrollment, configuration profiles, PPPC policies, and Intune-managed Mac deployments. Deep experience with macOS system internals and enterprise tooling.
Windows Autopilot device provisioning, Entra ID management, Intune policy configuration, and PowerShell-driven device lifecycle automation.
Shell scripting for automation, Linux server administration, self-hosted service deployment, and CLI tooling for day-to-day ops work.
Exchange Online, Microsoft Graph, and Azure AD automation. Scripts for user lifecycle management, compliance, mailbox delegation, and reporting.
Automation scripts, data processing utilities, and tooling to glue together APIs and command-line workflows.
HTML, CSS, and JavaScript from scratch. React + Vite for modern web apps. Built interactive tools, games, and media servers.
Self-hosted Forgejo git server, local LLM inference with llama.cpp, DNS configuration, and network infrastructure at home.
Entra ID / Azure AD, conditional access policies, MFA enforcement, Autopilot provisioning, and enterprise security posture hardening.
Git version control, self-hosted repository management, scripted deployments, and infrastructure-as-code mindset applied to IT operations.
A sample of what I've built across automation, endpoint management, and web development.
Multi-stage PowerShell script suite that automates the full Windows Autopilot enrollment workflow: hardware hash collection, Graph API import, profile assignment, Entra group membership, and MDM enrollment, with status output and error handling at each step.
Custom .mobileconfig configuration profiles for corporate Mac management via Intune. Covers browser policy enforcement, Privacy Preferences Policy Control (PPPC), and automated MDM enrollment for large-scale Mac deployments.
Suite of PowerShell scripts for enterprise M365 administration: user onboarding and offboarding, mailbox delegation, litigation hold checks, AD cleanup, compliance searches in Teams, contact creation, and more. Built on Exchange Online and Microsoft Graph.
Self-hosted Forgejo instance as a private Git server for all personal projects. Local LLM inference stack built on llama.cpp for offline AI experimentation. Custom DNS, network segmentation, and Linux server administration throughout.
Self-hosted video jukebox server for local network use. Node.js + Express backend with byte-range streaming, weighted shuffle algorithm (liked videos get higher weight), keyboard/swipe controls, and video preloading. Works entirely offline.
Interactive music education web app with real-time chord and scale visualization, a Web Audio API-based sound engine, metronome, and drum machine. Built with React 19 + Vite, featuring a custom fretboard renderer and chromatic tuner.
Browser-based interactive game where players collect gems in an animated forest scene. Drag-and-drop interactions powered by Framer Motion with smooth physics-based animations and responsive layout.
Assorted front-end builds including a Bay Area ice cream map, neighborhood map, onboarding form, tech reference card generator, and several CSS experiments. Straight HTML, CSS, and vanilla JS with no framework.
Bash scripts for Mac endpoint maintenance: automated macOS updates, hostname renaming for asset tracking, OneDrive sync management, and OSINT tooling integration. Designed for quick deployment on managed Macs.
I'm Sean Morrison, an IT engineer focused on endpoint engineering and systems automation. I work across macOS, Windows, and Linux, writing scripts to automate the repetitive parts and building the infrastructure that keeps things running.
My day-to-day involves MDM and Intune deployments, PowerShell automation for M365 administration, and bash scripting for Linux and macOS ops. I also run a homelab where I self-host services, experiment with local LLMs, and keep a private Forgejo git server for all my personal projects.
On the side I build web things: React apps, Node.js servers, and plain-HTML projects. I find front-end development a useful skill for making internal tools and automation dashboards that people actually want to use.