Fanful
Open Fanful navigation
Fanful
All Fanful features

Teaching and services

Lesson booking that starts on the creator site and stays in the creator stack.

Fanful lessons use real D1 records for offerings, availability, bookings, notes, payment state, and notification logs. The current flow supports manual meeting links and Stripe Checkout; deeper calendar and video-provider automation remains future work.

Fanful lessons booking surface

Status

In progress

Partly working now, with product hardening still underway.

Usable now

Lesson offerings, availability windows, bookings, notes, and notification logs live in D1.

Fan value

Students can move from artist discovery to a lesson request without leaving the owned creator site.

Creator value

Teaching revenue can sit beside memberships, shop, media, email, and fan records.

Current state

What is grounded today.

These claims come from the current production stack, feature docs, route handlers, and shipped screenshots. Anything still immature stays in the boundary list.

  • Lesson offerings, availability windows, bookings, notes, and notification logs live in D1.
  • /lessons reads active offerings and open future availability, then hides empty calendars from public navigation.
  • Visitors can choose a lesson, pick an open slot, and submit contact details and goals.
  • When Stripe is configured, the booking route holds the slot, creates a Checkout Session, stores the session id, and sends the visitor to Stripe.
  • Admins can create offerings, manage availability, update booking state, add meeting links, send schedule updates, and record lesson notes.

Fans

Why fans notice it

  • Students can move from artist discovery to a lesson request without leaving the owned creator site.
  • The booking form can collect goals and context before payment or confirmation.
  • Meeting links are not exposed publicly before booking.

Creators

What artists can operate

  • Teaching revenue can sit beside memberships, shop, media, email, and fan records.
  • Manual Zoom, Meet, or external links work today without forcing OAuth setup.
  • Booking status, payment state, notes, and notification logs give support and admin work a shared record.

Evidence

Proof points in the current stack

Lessons doc

docs/features/lessons.md documents the D1 tables, public behavior, admin behavior, Stripe integration, and provider boundaries.

Public route

The current /lessons route reads active offerings and open future slots rather than static fixtures.

Admin workflow

docs/features/lessons.md documents admin controls for offerings, availability, booking status, meeting links, emails, and notes.

Boundaries

What this page should not overpromise

  • Google Calendar, Google Meet, and Zoom automation are not required for the current model and should be added behind explicit credentials later.
  • An empty calendar should stay hidden from public navigation rather than promising lessons that cannot be booked.
  • Live payment collection depends on Stripe credentials and webhook handling.

Pricing notes

  • Lesson payments are fan payments, so platform fees and payment-processing fees apply when checkout is live.
  • Transactional emails, reminder workers, and stored booking records can contribute to email and app usage over time.
Compare plans