Enrollment link pages — Shareable landing pages at /enroll with class details, instructor info, schedule, pricing, and social sharing metadata make it easier to share specific classes with friends and colleagues.
Support tiers replace legacy memberships — The support page now shows the new Community, Supporter, Sustainer, and Patron tiers with updated pricing and perks, replacing the old Standup/Video/Membership naming.
Custom tuition links (Admin) — Admins can generate per-student custom-rate tuition links from the student CRM page, with status tracking, expiration dates, and copy-to-clipboard.
Curriculum resources sidebar — Teachers can attach external resources (Loom videos, papers, slide decks, documents) to curriculum pages, and students see them in a sidebar while studying.
Curriculum editor and maintainer dashboard (Admin) — A new curriculum editor with HedgeDoc integration and a maintainer dashboard for managing course content and editor roles.
DB SQL assistant (Admin) — A new AI-powered database assistant lets admins query school data using natural language, with conversation history, auto-executed queries, and a Zen-themed interface.
Matching queue and email CRM pages (Admin) — New admin pages for reviewing and approving student matches with LLM-drafted messages, plus a people directory with email timelines and tagging.
Resend receipt (Admin) — Admins can re-send purchase receipts to any of a student's known email addresses directly from the student CRM page.
Stripe Connect support for teacher marketplace — Teachers selling classes through the platform now have real-time enrollment processing via connected account webhooks.
Improved
Class times display in your timezone — Class pages now detect your timezone automatically and show session times in your local time instead of always displaying Pacific Time.
Student list redesigned (Admin) — The student list is now a full report engine with column visibility controls, inline editing, class filtering, slide-in detail panels, and batch operations.
Admin dashboard progression and forecasting (Admin) — New student progression report in the Engagement tab and an Upcoming Classes tab with enrollment counts, revenue forecasts, and preparation checklists.
Revenue tab with CSV export (Admin) — The revenue tab loads faster with lazy loading, and data can now be exported to CSV.
Email typo auto-correction — Common email domain typos (like gmail.con or gmai.com) are now automatically detected and corrected before enrollment emails are sent, so fewer students miss their welcome messages.
Instant enrollment from payment links — Students paying via Stripe payment links (including Apple Pay and Google Pay) are now enrolled immediately instead of waiting for the batch job to run.
Fixed
Scholarship students can now self-enroll from the dashboard — Scholarship recipients were unable to enroll in eligible classes from their dashboard because the system did not recognize their scholarship status.
Dashboard session links pointed to wrong pages — Today's session links on the student dashboard were showing incorrect meeting and curriculum URLs.
Manual timezone preference was not saved — Selecting a timezone manually was overwritten on page reload by automatic browser detection.
Duplicate enrollment emails with stale dates — Enrollment and pre-class emails were sending two copies in one message, the first containing outdated dates and broken links.
Admin dashboard tabs hidden behind engagement section (Admin) — Six admin dashboard tabs (including scholarships and memberships) were invisible due to an unclosed HTML element.
Student list 500 errors (Admin) — The student list page crashed when a required database migration had not yet been applied; it now gracefully handles missing columns.
Orphan purchases not enrolling students — Some Stripe purchases were not being matched to students due to API key and product ID tracking issues, leaving 14 students unenrolled.