Custom LMS + Membership MVP

7 weeks
MVP Scope
James + Dev Team

🎯 Primary Goal

Build a working prototype for Holomovement where users can create accounts, log in/out, purchase or be granted membership access, view gated course content, track their progress through lessons, and admins can verify the entire system functions correctly. This is a prototype to prove the concept - not a full platform.

Launch Target: January 27, 2025 for first cohort with membership portal access.

System Architecture

We're building a custom system that gives Holomovement complete control and ownership:

Webflow Webflow
Frontend & CMS
Supabase Supabase
Database & Auth
n8n n8n
Automation
S
Stripe
Payments
💡
Why Custom vs Off-the-Shelf

Building directly into Webflow means everything lives in one place with the synergist map and community tools. No separate logins, full design control, code ownership, more cost-effective long-term, and complete data portability.

Key Architectural Decisions (LOCKED)

  • Supabase = single source of truth for users, progress, memberships
  • Webflow CMS = content only (courses, lessons, modules)
  • Webflow UI = presentation only (what users see and interact with)
  • n8n = automation glue (webhooks, emails, integrations)
  • Stripe = billing only (no business logic in Stripe)
  • JavaScript = custom code for auth, gating, progress tracking
  • GitHub = reusable code modules for future projects

What We're Building (IN SCOPE)

🔐 Authentication

Email + password signup/login, password reset via email, session persistence across pages, secure logout. Supabase Auth handles everything.

👥 Membership System

Free tier (marketing access) and Paid tier (course access). One paid product (subscription OR lifetime). Manual assignment supported for Wave attendees.

📚 LMS Core

1 course with 5-10 lessons. Lessons include text, embedded videos, journal prompts. Lesson completion tracking. Progress persists per user. Lesson-level only (no quizzes).

💳 Payments

Stripe Checkout, 1 product, 1 price. Webhook triggers instant access. Customer portal enabled. Payment confirmation emails automated.

📊 User Dashboard

Shows user name, membership status, accessible courses, progress bars per course. Simple, clean UI. Links to profile page.

🎨 Profile Page

Edit name, upload profile image (Supabase Storage). Email shown but not editable. Logout button. Simple form.

Access Control Logic

Clear, simple rules based on membership tier:

  • Logged-out users: Can view marketing pages only. Redirected to login if they try to access lessons.
  • Free members: Can view dashboard, profile, and any lessons marked "free" in CMS.
  • Paid members: Can view everything - all lessons, all content, full access.
  • No partial unlocks, no complex permission trees. Keep it simple.
⚠️
Critical: What's NOT in MVP

Forums • Messaging • Comments • Quizzes • Certificates • Course bundles • Multiple instructors • Admin dashboard UI • Reporting • Multi-language • Mobile app • Advanced permissions • Drip content scheduling • Social logins • Trials • Upgrade/downgrade UI • Proration • Coupons

Content Structure (Webflow CMS)

Courses and lessons managed entirely in Webflow CMS Collections:

  • Courses Collection: Course name, description, thumbnail, order
  • Lessons Collection: Lesson title, content (rich text), video embed URL, course reference, order number, access level (free/paid)
  • CMS-driven rendering means Jill can edit content without touching code
  • Lessons display in order via CMS order field

Minimal Automation (n8n)

Only the essentials to make the system work:

  • Stripe payment webhook → Grant membership in Supabase → Send confirmation email
  • Stripe cancellation webhook → Revoke membership → Send cancellation email
  • New signup → Send welcome email (with first steps)
  • Email tool integration (Gmail or ActiveCampaign)

NOT in MVP: Drip sequences, behavior-based emails, AI engagement, completion certificates, progress reminders

🎯
Definition of "MVP Done"

A new user can: Sign upLog inBuy access (or be manually granted access) → See locked vs unlocked lessonsComplete a lesson (mark complete button) → Log outLog back inSee their progress intact. If this flow works end-to-end, MVP is complete.

Critical Coordination Points

Holomovement's Responsibilities:

  • Course content creation (Michael-Shaun scripting, Jill authoring)
  • Video recording and editing for lessons
  • Meditation/embodiment exercise recordings
  • Journal prompt text
  • Marketing page copy
  • Timeline: Content must be ready by Week 5 to load into CMS

IRIS Cocreative's Responsibilities:

  • All technical infrastructure and integration
  • Webflow template design and build
  • Supabase setup and configuration
  • Payment integration and webhooks
  • Custom JavaScript for auth and gating
  • n8n automation workflows
  • Testing and bug fixes