Multi-tenant. One club with admin, coach and student roles, its own disciplines and belts, classes on recurring schedules, bookings and attendance.
QR with a server-signed, rotating token. Board mode for the mat and a short backup code.
Each club's data stays separated by RLS and SECURITY DEFINER functions.
Club chat with attachments and moderation: reports, blocks and an admin queue.
Attendance per period with points, streaks and tie-breaks, in the style each club picks.