Course platform
Launch unavailableThe authorised launch state will appear after your session and public configuration are checked.
This opens the server-authorised course route in a new tab. No course password is stored in the DoJo.
AI Masters DoJo
Access the DoJo community, fortnightly Q&A catchups, projects, commitments and linked courses.
A sign-in code will be sent to your account email.
AI Masters DoJo · practical training and support
Choose the seats your people need for practical AI learning, a supportive member community and real business application.
Build your access
Start with one seat or combine DoJo and Peer Group seats for your team.
Loading current Stripe offers…
We could not load the current offers. Please try again.
Current subscription offers could not be published. Please return later or contact the DoJo team.
Step 2 of 2
Your selected seats are reserved for this checkout session. Stripe will confirm the final tax and total after you enter the billing details.
Payment status
We are checking Stripe and the DoJo billing projection. This can take a moment.
The DoJo
Community
Your DoJo
Your next session, current work and community activity are now in one clear place.
Pick up where you left off.
Activity relevant to your work.
Official updates, member reminders and platform notices.
Important DoJo updates and member information.
Use the Events link for upcoming sessions, or join the DoJo to unlock the full workspace.
Practical guidance and resources for the DoJo community.
Browse workshops, Peer Group sessions and member catch-ups.
Internal events are managed by the DoJo admin · Humanitix remains externalSearch the member profiles that are visible to you. Profile details and private chat preferences are controlled by each member.
Launch the authorised course platform from one place. Course content, progress and credentials remain with the external learning provider.
The authorised launch state will appear after your session and public configuration are checked.
This opens the server-authorised course route in a new tab. No course password is stored in the DoJo.
No in-app learning plan or progress record is connected in this checkout. Use your course platform and bring the next practical application back to Community or Q&A.
Change the recurring dates, add one-off dates and attach Zoom meeting links.
Recorded catchups and descriptions will appear here when they are added.
Add a description and YouTube or embed link for past catchups.
A clear place for group context, practical project updates and the next useful action.
Meeting check-ins are planned and are not connected to a shared save path yet.
Peer meetings, check-ins, commitments and coach prep are planned for a future production data boundary.
Use the prompts to prepare. Saving check-ins and commitments remains planned.
Coach prep remains private and is not generated or shared from this preview.
Only assigned, permitted members should appear here.
Conversation stays in the authorised peer channel. This workspace does not copy messages into a second feed.
Current production project records remain owner-only. Peer project sharing is planned until an assigned-group data boundary exists.
Use the sequence to prepare for the next meeting. No peer meeting, check-in or 1:1 record is saved by this screen.
Commitment status and filters are browser-local demo/planned behaviour under the current feature flags.
Member commitments due before the next Community Q&A cycle.
Items blocked by missing provider details or unclear owner action.
Completed commitments ready to review before the next Q&A.
Recent group update, risks and suggested agenda.
Open a member to view 1:1 prep and 1:1 history.
Review safe configuration signals, make audited access changes, and see which source is authoritative. Provider cards show configuration status only; they never display secrets or claim a live connection test.
Reads GET /api/config only. No provider test or write is performed.
Realtime channels, chat, memberships and admin audit queries. Access is enforced by Convex server functions, not browser visibility.
Dependency-down state: if Convex is unavailable, admin controls fail closed and the UI reports that no mutation was performed.
CONVEX_URL presence onlyconvexAuthIssuer is displayed only when configuredMaps subscriptions to free, DoJo member and peer group access. Webhook: POST /api/stripe/webhook
Status only: signature verification, event ordering, duplicate handling, grace and cancellation rules remain server-side. Trial, replay and recalculation controls are not implemented by this endpoint.
STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET, mapped Price IDsPOST /api/stripe/webhook (live route)CRM contact alignment only. It should not override a valid Stripe subscription without explicit admin override.
Planned/status-only: this repository has no GHL webhook or API handler. A paid subscription with a contact ID but no approved metadata email remains pending review; it does not grant access.
GHL_WEBHOOK_SECRETGHL_API_KEYdojo_member_email in approved Stripe metadataGroups: dojo-free, dojo-member, dojo-member-readonly, peer-group, peer-group-readonly, ai-coach and admin.
Authoritative session: production admin routes reauthorise the signed-in identity against Keycloak and retain only configured groups. Client visibility is not the security boundary.
Not configuredgroupsShows a launch button only for active DoJo members, peer-group members, AI coaches and admins. No course-platform passwords are stored.
Server-authorised redirect: read-only, blocked and expired users must not launch courses. There is no separate seat/offboarding API in this repository.
UDEMY_SSO_LAUNCH_URL/api/course/launchEvent visibility supports public, free, DoJo member, peer group and admin-only events. Zoom links stay hidden from unauthorised users.
External boundary: Humanitix remains an approved HTTPS external hand-off or inline embed. This app has no Humanitix admin API, local booking state or registration store.
HUMANITIX_CALENDAR_EMBED_URLRich media goes to object storage. Large media must not be stored directly in the app database.
Configuration only: no R2/S3 client, test upload, delete action or signed URL is implemented here. Convex file contracts remain the current attachment path.
S3_ENDPOINT_URLS3_STORAGE_FILES_BUCKETAWS_ACCESS_KEY_ID or S3_ACCESS_KEY_ID presence onlyStructured coach prep, feedback summaries and generation logs. Raw API keys are never displayed.
Planned/status-only: no OpenAI client or generation route exists in this repository. Static coach copy is not a successful generation or log test.
OPENAI_API_KEYOPENAI_MODELOPENAI_MEETING_PREP_PROMPT_VERSIONMeeting reminders, check-in reminders, coach prep ready and security notices. Marketing remains in GHL for v1.
Configuration only: this build reports the selected transactional email provider configuration; provider test and delivery actions are unavailable here. Do not send test mail or infer delivery health from these flags.
EMAIL_PROVIDER (plunk or smtp2go)PLUNK_API_KEYPLUNK_FROM_EMAILPLUNK_WEBHOOK_* or SMTP2GO_WEBHOOK_*Manual grants, blocks, read-only changes and extensions are audited and take priority over Stripe sync. JSON billing state and Keycloak synchronisation are separate steps.
A confirmation will show the target, override type, groups, expiry and reason. If provider sync fails after local state is saved, the result is shown as partial and must be reconciled deliberately.
Use this for synced DoJo users. Add the ai-coach group before assigning members to a coach.
Create and maintain internal DoJo events in Convex. Meeting links and approved Humanitix URLs are handed off only to eligible members; bookings and payments stay external.
Convex is waiting for configuration.
Move channels locally, then save the order through the existing audited Convex mutation.
Admin-only audited controls stored in Convex. The live Community rail uses the saved section order, channel assignment and presentation settings.
Rename headings and save their order. Assign channels to a heading from the channel editor.
Pages are stored in Convex, rendered with a safe Markdown subset and can be added to the main navigation.
Creates and publishes the six reviewed transactional templates through the versioned registry. Existing published content conflicts stop the action. Purchase receipts remain excluded.
No installation has been run. This action never sends email or calls the SMTP2GO provider.
Use the existing admin:explainUserAccess query to inspect the selected user, channel, memberships and computed reason. Billing JSON, Keycloak and provider status remain separate sources.
Select a user and channel. No provider test, recalculation or resync is performed by this view.
Start typing to search your accessible DoJo workspace.