Scholarship and unmet needs forms — Students who need financial help can now apply through a dignified two-tier scholarship form instead of sending a cold email. The form screens for basic needs like safety, housing, and food, and routes anyone facing hardship to a compassionate intake process with follow-up.
Student CRM with timeline and notes (Admin) — Admins can now view a unified timeline for any student at /admin/student//crm, aggregating enrollments, purchases, attendance, notes, form submissions, and more into a single view with admin note-taking and organization tracking.
Homepage restructured with new program pages — The homepage navigation is reorganized into clearer "School" and "Resources" sections. New program cards for "Shipping Software" and "Wake Up and Get a Job" link to dedicated detail pages with updated pricing.
Self-hosted privacy-first analytics (Admin) — Replaced third-party Heap Analytics with self-hosted Umami. Admins get a new /admin/analytics dashboard with curriculum usage, attendance rates, and student activity views -- all without sending visitor data to external services.
Auto-enrollment for members — Members (Member, Researcher, Autodidact tiers) are now automatically enrolled in all upcoming classes within their membership period when they visit their dashboard, with a prominent link to the curriculum.
Standup program checkout — The Job Search Standup program now has direct Stripe checkout links across all program pages, with clear $60/month pricing and scholarship links.
Improved
Clearer scholarship and pricing language — Pricing notes on class pages now explain that the minimum price is for spam prevention, and scholarship callouts link directly to the new scholarship form instead of listing an email address.
Better button contrast across themes — Fixed button text readability on eight themes (including Solarpunk, Memphis, and Snow Cherry) where light accent colors made white button text hard to read.
Fixed
Broken magic login links — Fixed an issue where magic login links were malformed (missing the slash before "auth"), preventing some users from logging in via email.
Site availability during health checks — Fixed an issue where the site's rate limiter would block health check requests, causing the hosting platform to restart the app in an infinite loop.