The systems I build tend to do three things: remove manual coordination, make ownership unambiguous, and continue operating without intervention.
My AI work focuses on identifying where human attention is being wasted and replacing it with infrastructure that runs continuously and reliably.
PMO · Enterprise
Global Citizen PMO
The framework underneath has three governing muscles: Clarity, Cadence, and Escalation. Every gate, template, and training in the system serves one of those three.
Projects move through a structured lifecycle with explicit entry conditions, decision gates, and readiness criteria at each stage — designed to force clarity earlier so teams don't discover scope, budget, and partner problems during delivery. Tooling is divided by purpose, not preference, and the division is enforced.
Because GC isn't always able to onboard dedicated PMs for every project, a tiered accreditation model scales project leadership across the org — so strong operators can lead work inside a repeatable governance rhythm without pretending everyone is a classically trained PM.
Asana
Salesforce
Airtable
Slack
Google Workspace
Strong PMO. Built from scratch. Still running.
AI · Internal Tooling
opsIQ
An AI-powered LMS built to automate staff SOP training and quiz generation across a global org. Generates multiple-choice, multi-select, and short-answer quizzes from source documents, then administers assessments directly in Slack.
It went from zero to production on Cloudflare's developer platform without an engineering team, proving the internal tooling practice could ship real systems rather than stay a side experiment.
Cloudflare Workers
D1
R2
OpenAI API
Slack
~12,000 lines of code. $0.28 total infrastructure cost.
Automation · Slack-Native
Pulse
Weekly project status should be a system output, not a PM chasing 12 people on Friday afternoon.
Structured Block Kit prompts go to each project lead every week. They respond in Slack. An LLM tightens and normalizes the responses, which consolidate into a digest posted to a private channel every Monday. PM involvement in that loop: zero.
Cloudflare Workers
D1
Slack
OpenAI API
Status collection that runs itself.
Automation · Workflow
Slate Bot
Content slates decay fast. Fields go stale, owners disappear, statuses stop reflecting reality. Left alone, the slate becomes something people reference but don't trust.
Slate Bot runs automated hygiene checks against the Content Operations Slate, identifies tasks with missing or outdated fields, and tags owners directly with comments that name the specific gaps. After the owner pass, it posts a summary to Slack. Accountability lands where it belongs, without a standing meeting or a weekly nag.
Cloudflare Workers
Asana API
Slack
Keeps the slate honest without a human enforcer.
Automation · Workflow
Asana Weekly Digest
Cloudflare Worker with a cron trigger that pulls upcoming Programming tasks and milestones from Asana and posts a formatted digest to Slack every week. It replaced a manual coordination step and made weekly priorities legible across teams.
The point wasn't novelty. It was taking a reminder nobody wanted to own and turning it into infrastructure the organization could trust every Monday.
Cloudflare Workers
Asana API
Slack API
Cron
Fully automated. Runs every week without being asked.
Infrastructure · Personal Lab
Personal Infrastructure Lab
A personal homelab running on a Mac Mini M4 — fully containerized in Docker Compose, remote access via Cloudflare Tunnel with Zero Trust authentication, private mesh networking via Tailscale, and DNS-layer filtering via NextDNS.
The same standards apply here as at work: documented, maintainable, no shortcuts. It is the sandbox where new tools get tested before they become work tools.
Docker
Cloudflare Tunnel
Zero Trust
Tailscale
NextDNS
Personal infrastructure. Production standards.