Kundalini yoga school and streaming membership · WooCommerce
RA MA Yoga Institute
RA MA Yoga Institute is a Kundalini yoga school teaching breath, movement, sound, and meditation through classes, workshops, immersions, and teacher trainings.
It now runs primarily online. RA MA TV is a streaming membership, which turned a school with a room capacity into one with no geography at all. Everything runs through one checkout, and the membership is what stands between a paying student and the video.

They wanted WooCommerce Subscriptions and Klaviyo expertise on a store where the memberships are load-bearing. A membership bug here doesn't cost someone a discount, it costs them the product, and it fails quietly: the member gets a page with nothing on it rather than an error, then emails support to say the site is broken.
- WooCommerce
- WooCommerce Memberships
- WooCommerce Subscriptions
- Engagement tracking
- Stripe Connect
- GeneratePress + Elementor
Migrated the legacy video library into WordPress.
The classes lived on a third-party video service that had to be absorbed without losing anything. We wrote a command-line migration toolchain to bring the library across in stages, with status reporting and a way to flag anything that hadn't made it, so the move could be verified rather than hoped about.
Built per-user engagement tracking.
Every member's watched, completed, and saved state, plus playback progress, recorded on purpose-built database tables with a rolled-up per-user summary and caching so the reporting doesn't cost page speed. There is an admin view of engagement per member with a drill-down, so the school can see what is actually being practiced rather than only what was bought.
Built the multi-step signup wizard.
Joining runs as a guided flow that selects the right subscription variation and adds it without a page reload, with registration validated inline rather than failing at the end. Terms acceptance is captured on the cart item, carried through to the order line, and surfaced on the admin order screen, so there is a record against the purchase rather than a claim about the page.
Made the membership gate helpful rather than a wall.
A restricted video used to produce a generic no-access notice. It now redirects to the page that actually sells that content. Navigation changes for logged-in members and renders over AJAX so the header stays personalized even behind full-page caching, and login and purchase both route through to the member dashboard.
Rebuilt the storefront around the membership.
The product layout reworked, direct-to-checkout for products sold individually, order-received messaging that hands people to their dashboard rather than a dead end, and custom email and My Account templates throughout. The store and the library stop feeling like two different websites.
Optimized the database under the library.
A large video catalog, per-member engagement history, and years of membership and order records all land in the same database, and the cost of that shows up first as slow admin screens and slow member pages. We profiled what was actually taking the time, cleared out what had accumulated, and tuned the queries the library leans on hardest.