Students go from map to membership in one flow. Owners replace spreadsheets, QR hacks, and payment apps with one dashboard.
Dojo Mojo replaces disconnected tools with one platform where member actions show up instantly in owner tools.
Dojo lifecycle: Listed → Claimed → Transactable
Students and dojo owners both lose time to tools that were never built to work together.
Members discover and train. Owners operate and get paid. Every action stays in sync.
Interactive map, dojo profiles, schedules, weather, instructors, reviews, and owner-verified pricing only.
Memberships, drop-ins, QR check-in, plan changes, and recurring billing via Stripe Connect in JPY.
Direct messages, dojo chat, live streaming, push notifications, and community posts — one inbox.
Start on the map. Every dojo page shows what you need before you step on the mats.
Full-screen MapLibre map with search, style filters, and marker previews.
Address, auto-translated description, verified badges, pricing, schedule, instructors, reviews.
Daily forecast and training conditions. Respects owner OPEN / CANCELLED / CLOSED status.
Rate dojos and browse announcement posts with photos from members.
/ — Map home/dojo/[id] — Dojo page/dojo/[id]/instructors — Teaching team/trust-guide — Platform trust docsBrowse the weekly schedule, enroll in one tap, and check in at the desk with QR.
Collapsible weekday grid — today expanded by default. Enroll or cancel in one tap.
Trial or visitor flow with optional Stripe payment for drop-in fees.
Scan the desk QR when signed in. No paper roster at reception.
QR signup: profile, emergency contact, waiver, plan, card on file — one flow.
Track every dojo you belong to, manage plans, and pay from a single account.
Linked dojos, membership cards, class stats chart, and calorie tracker.
Stripe Connect recurring billing. Visitor drop-ins. Apple Pay / Google Pay. JPY zero-decimal.
Request upgrades, add family members, locker add-ons, or cancel with reason.
Upload ID for student-rate plans. Owner reviews in-app — no email back-and-forth.
/me — Dashboard/me/memberships — All memberships/onboard/[dojoId]/signup — Full signup/dojo/[id]/visitor-payment — Drop-in paymentMessage teammates, chat with your dojo, book private lessons, and watch live streams.
From free map listing to full payment automation — move at your own pace.
Free public map entry. Schedule may be AI-extracted. Students find you with zero setup.
Verify ownership. Fix schedules, log cash payments, track attendance, export roster.
Stripe Connect live. Automated billing, visitor checkout, chat, streaming, full onboard.
Manage classes, track who showed up, and keep every student's history in one place.
CRUD weekly classes. Bulk create across weekdays. Enrollment counts per slot.
Unified drop-ins and enrollments. Filter members, non-members, dormant. CSV export.
Today's QR check-ins with unverified-photo warnings. Weekly PDF attendance report.
Migrate from Mindbody, spreadsheets, or paper logs with column-matching CSV.
Record rank changes with full history on each member profile.
Flag verified photos to prevent card-sharing at check-in.
Find lapsed students (90-day inactivity). Restore with one tap.
PWA caches active members for desk use without connectivity.
Pause, resume, approve changes, and review IDs — granular control over every relationship.
Active / paused / cancelled tabs. Search. Pause, resume, cancel. Toggle auto-charge.
Approve or decline upgrade/downgrade requests. Student plans require verified ID.
Approve or deny locker add-on subscriptions tied to Stripe.
Approve government IDs. Auto-fills verified name and date of birth.
Schedule upcoming pause windows with optional maintenance fee.
Internal notes and emergency contact on each profile. Promotion history.
P&L analytics, payment ledger, Stripe Connect, and freee accounting — all in JPY.
Weather closures, messaging, instructors, live streaming, and co-admin permissions.
Set OPEN, CANCELLED, or CLOSED. Members notified automatically.
Message inbox, dojo group chat, announcement posts with images.
Start and end Daily.co streams from the dojo page with live chat.
Promote members to instructors. Set bio, price, Stripe for private lessons.
OWNER, ADMIN, VIEW_ONLY per dojo. Support access audit logs.
Alerts for plan changes, locker requests, new signups, and ID submissions.
Every member action surfaces in the right owner tool. No manual sync or spreadsheet exports.
| Member does… | Owner sees… | Owner tool |
|---|---|---|
| Scans QR to check in | Check-in log with belt + time | /owner/dojo/[id]/checkin |
| Enrolls in a class | Enrollment count on schedule slot | /owner/dojo/[id]/schedule |
| Completes onboard signup | New membership + notification | /owner/dojo/[id]/memberships |
| Requests plan change | Pending approval queue | /owner/dojo/[id]/change-requests |
| Uploads government ID | Verification queue | /owner/dojo/[id]/identity |
| Pays drop-in or monthly | Payment ledger entry | /owner/dojo/[id]/payments |
| Sends dojo message | Inbound message inbox | /owner/dojo/[id]/messages |
| Requests locker | Locker approval queue | /owner/dojo/[id]/locker-requests |
Modern stack, Tokyo-hosted, battle-tested with 388 Playwright E2E tests across 4 browsers.
Next.js 15, React 19, TypeScript strict, Tailwind CSS 4, PWA + Capacitor iOS
PostgreSQL (Neon) via Prisma, ~50 API routes, NextAuth (Google + credentials)
Stripe + Stripe Connect, JPY zero-decimal, webhook idempotency, Apple/Google Pay
MapLibre + MapTiler, Cloudinary, Daily.co, Resend, freee, web-push + FCM
Students start on the map. Owners start with a claim — both sides stay in sync automatically.
One platform — separate entry points for students and owners.
Full doc · docs/product/dojomojo-platform-overview.md · Press ? for shortcuts
Swipe on mobile. Browser Print saves all slides as PDF.