// projects
Projects
Twelve builds across LMS, SaaS, identity, DevOps, and AI. The work behind fourteen years of full-stack engineering.
Currently building
Selected work
-
Multi-Tenant LMS Platform at Scale
Multi-tenant SaaSPer-client WordPress installs do not scale to a fleet, so I rebuilt the platform as a single codebase with database-switched tenancy: one Docker image, a per-tenant Redis prefix, deployed across more than 30 servers. It grew to 127 enterprise tenants and over 125,000 registered users across sectors from postal and banking to healthcare and manufacturing. Behind it sat 35 custom plugins and a request-aware plugin loader that swapped the active set per request to keep WordPress boot times low.
- WordPress
- LearnDash
- BuddyBoss
- WPML
- Auth0
- PHP
- MySQL
- Redis
- Docker
- Ansible
- Hetzner
-
DigitalOcean to Hetzner Fleet Migration
DevOps / SREThe platform was paying too much for hosting and had hit a performance ceiling. I spent two months planning the move on my own: capacity sizing, topology, cutover sequencing, rollback design, and data-integrity checks, all provisioned with Ansible. The cutover crossed the app, database, Redis, load-balancer, and monitoring tiers in one pass. It saved roughly $5,000 a month, ran 5 to 20 times faster, and held 99.97% uptime.
- Hetzner
- DigitalOcean
- Ansible
- Linux
- Nginx
- MySQL
- Redis
- Docker
-
Identity Platform: Auth0, Icelandic eID, SSO
Identity & SSOThe platform needed one Auth0 connection per tenant, Icelandic eID federation, and single sign-on across many subdomains. The hard part was moving 120 of those connections from "Auth0 owns the users" to "WordPress is the source of truth" without breaking anyone's login. I wrote a Node.js tool that backed up before it mutated, ran dry runs, required typed confirmation, used deep-merge payloads, backed off on rate limits, and kept an audit log. It flipped 120 connections in 84 seconds with zero failures. A deep-merge fix caught in testing prevented silently wiping every connection's login scripts.
- Auth0
- Icelandic eID
- OIDC
- OAuth2
- SSO
- Node.js
-
BuddyBoss Mobile App: Auth0 SSO Without Touching the Binary
Mobile / AuthThe BuddyBoss mobile app ships compiled and closed, but it needed Auth0 sign-in to match the web platform. Rather than fork the binary, I used the vendor's documented extension API: a WebView hosting the WordPress Auth0 page, the session captured back into the app's store, and a request decorator rerouting login to a custom REST endpoint. The result was end-to-end authentication across three closed systems with no changes to the compiled app.
- React Native
- BuddyBoss App
- Auth0
- OIDC
- TypeScript
- WordPress REST API
-
Cross-Tenant Course Replication
Data opsRolling course content across a fleet by hand is not an option once you have a hundred-plus tenants. I built a Bash and WP-CLI pipeline that replicated more than 500 LearnDash courses to over 125 tenant platforms, handling per-tenant database isolation, media syncing, and course-meta normalization. It was idempotent, so reruns were safe, which turned fleet-wide content updates into a repeatable single-engineer job.
- Bash
- WP-CLI
- LearnDash
- Linux
- multi-tenant architecture
-
AVIA Multi-Tenant LMS Foundation
Multi-tenant SaaSThis was the ground floor of a multi-tenant LearnDash platform: the core architecture, the first set of custom plugins, Auth0 SSO with one connection per tenant, and the daily HR-sync pattern that fed users in from external systems. By the end of the foundation phase it carried around 20 tenants and roughly 10,000 learners on a single WordPress codebase with per-tenant database isolation.
- WordPress
- BuddyBoss
- LearnDash
- WPML
- Auth0
- PHP
- MySQL
- Redis
-
LearnDash + Infusionsoft + Zoom Integration
LMS integrationThe goal was to run enrollment and live classes without anyone touching the admin. A tag change in Infusionsoft enrolls the member into the right LearnDash group and course, group leaders get a scheduling dashboard, Zoom group meetings run inside the member area, and recordings upload to Vimeo for replay. The whole flow is driven by CRM tags, so onboarding and class delivery happen on their own.
- WordPress
- LearnDash
- BuddyBoss
- Infusionsoft
- Zoom API
- Uncanny Toolkit Pro
- Vimeo
- PHP
-
LifterLMS Discounted Subscription Renewals
LMS / membershipLifterLMS renews everyone at the original tier price, which leaves no room to reward loyal members. This plugin closes that gap. As a subscription nears expiry it emails the member a unique discounted link that routes to LifterLMS or WooCommerce checkout, with the price, duration, and email all configurable by the admin.
- WordPress
- LifterLMS
- WooCommerce
- PHP
-
RCPro Auto-Upgrade Trial Membership
MembershipMembers on a paid trial would otherwise have to check out again to continue, and many simply drop. This Restrict Content Pro plugin upgrades the trial to the full tier as it expires and charges through Stripe or PayPal automatically. Anyone who opts out gets a cancellation link 24 hours before the charge, so the upgrade is the default but never a surprise.
- WordPress
- Restrict Content Pro
- Stripe
- PayPal
- PHP
-
Reup Social Shopping Marketplace
Marketplace / WooCommerceReup was a social-shopping marketplace built before Whatnot made the format familiar. I built vendor onboarding, listings, and payouts on WooCommerce, a creator dashboard that linked Instagram content to products for follower discounts, and the REST API that powered native iOS and Android apps. The front end was hand-built from more than 50 Figma frames with no page builder, running on AWS autoscaling. The live site has since been retired, so the link points to a Wayback snapshot.
- WordPress
- WooCommerce
- Stripe
- REST API
- AWS
-
Canvas LMS to WordPress Integration
LMS integrationA client ran courses in Canvas but wanted everything to live inside their WordPress site. This plugin connects the two: shared user accounts, Canvas progress surfaced on the WordPress side, course access gated by WooCommerce subscription status, and single sign-on so one login works across both.
- WordPress
- WooCommerce
- Canvas LMS
- PHP