Hey, I'm Jon.
I'm a senior client platform engineer who got tired of doing things manually and started building software to fix that. What started as scripting Mac deployments has turned into building full-stack platforms, AI integrations, and automation systems that run at enterprise scale.
The Short Version
I spent nearly a decade at Central Michigan University building macOS management infrastructure from scratch — scaling from a single department to 2,000+ devices university-wide. I got deep into open source, became a core contributor to MunkiReport, built munkiMDM, and started speaking at conferences about automation.
In 2020, I joined Unity Technologies as a Senior Client Platform Engineer. That's where things shifted. Instead of just managing devices, I started building products. The kind of internal tools that product teams would be proud of — not just scripts held together with cron jobs and hope.
What I Build
Most of what I build starts the same way — someone on the team is doing something manually that shouldn't be manual. That friction is usually where I start.
The biggest version of that was a full-stack internal platform built with Next.js, TypeScript, tRPC, and Drizzle running on GCP. What started as a way to bring scattered data into one place grew into something the team actually runs their operations from — license management, remote device security controls, leadership dashboards, inventory workflows, and even precise procurement forecasting. It's the project I'm most proud of because it kept growing based on what people actually needed.
More recently I built a Slack hygiene tool — a Next.js frontend with a Python/FastAPI backend — because our workspace had become genuinely hard to navigate. It hooks deep into the Slack API to surface stale channels, dormant users, and unused integrations, and gives admins a clean interface to act on them. Simple problem, but the kind of thing that compounds if you ignore it.
On the device side, I built a native Swift app that replaced the manual device setup process entirely. Users get a clean interface to handle application installs, self-service options, and system preferences themselves — no IT involvement required.
The through line across all of it is the same: find the manual process, understand why it exists, and build something that makes it disappear.
Technical Skills
Languages & Frameworks
Infrastructure & Cloud
Security & Identity
Device Management
Talks & Community
I've been an active member of the MacAdmins community for years. I've spoken at conferences, contributed to open source projects, and helped organize workshops.