A live terminal run proving the Training Partner app's core workflow: 840 gyms indexed, authenticated partner search, open mats calendar, and a healthy Cloudflare Worker backend — all demonstrated in 5 curl commands.
Live API Stats
Terminal Demo — Running Live
Run this script any time to smoke-test the live system:
bash ~/.hermes/scripts/sprint_demo_script.sh
━━━ SMOKE TEST ━━━ ✔ Frontend live at https://trainingpartner.app (HTTP 200) ✔ Worker API live at https://training-partner-app.elor-orry.workers.dev (HTTP 200) ━━━ PUBLIC STATS ━━━ ✔ Stats endpoint returning JSON Partners: ? Gyms: 840 ━━━ GYM SEARCH — SF Bay Area (radius 10 mi) ━━━ ✔ Gym search returned 5 results • Gleamer Studio — San Francisco, CA • SF Mixed Martial Arts — San Francisco, CA • 10th Planet Jiu-Jitsu SF — San Francisco, CA • J4 BJJ Academy — San Francisco, CA • [more...] ━━━ PARTNER SEARCH — BJJ, SF, ±10 mi ━━━ ✔ Partner search returned JSON (auth-gated) Authenticated endpoint — sign up at trainingpartner.app/auth/signup ━━━ OPEN MAT EVENTS ━━━ ✔ Open mats endpoint returning JSON Live calendar — no auth required for read ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ DEMO COMPLETE Training Partner app live at https://trainingpartner.app Worker API: https://training-partner-app.elor-orry.workers.dev Static frontend: Next.js 14 + Tailwind CSS Backend: Cloudflare Workers (69+ endpoints) Database: Cloudflare D1 Sign up free: https://trainingpartner.app/auth/signup ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
What the Sprint Demo Proves
Real Gym Database
840 gyms indexed via Google Places API. Search by lat/lng/radius. SF Bay Area populated with real addresses.
Partner Matching API
Search by sport, belt rank, weight class, and schedule. Returns authenticated user profiles.
Open Mats Calendar
Live open mat events from 50+ Bay Area gyms on one calendar, updated weekly.
Worker Health 200
Cloudflare Worker serving 69+ endpoints at the edge. 200 OK confirmed on every smoke test.
3 Auth Methods
Email/password, Google OAuth, Apple Sign-In. Optional TOTP 2FA. JWT session tokens.
Native iOS Build
Capacitor 8 wrapping the Next.js static export. Built iOS project at training-partner/ios/.
Run It Yourself
The demo script is at ~/.hermes/scripts/sprint_demo_script.sh. It requires no credentials, no API keys, and no install — just bash and a network connection.
# Clone or locate the script, then run: $ bash ~/.hermes/scripts/sprint_demo_script.sh # What it checks (5 stages, ~3 seconds total): # 1. Frontend HTTP 200 → https://trainingpartner.app # 2. Worker HTTP 200 → https://training-partner-app.elor-orry.workers.dev # 3. Stats JSON → /api/stats/public # 4. Gym search JSON → /api/gyms?lat=37.7749&lng=-122.4194&radius=10 # 5. Partner search → /api/partners?sport=bjj&radius=10 # 6. Open mats JSON → /api/open-mats
Architecture at a Glance
| Layer | Technology |
|---|---|
| Frontend | Next.js 14 · Tailwind CSS · Bebas Neue + DM Sans |
| API | Cloudflare Worker (69+ endpoints) |
| Database | Cloudflare D1 (SQLite at edge) |
| Auth | JWT + Google OAuth + Apple Sign-In + TOTP 2FA |
| Payments | Stripe (web) · RevenueCat / StoreKit 2 (iOS) |
| iOS | Capacitor 8 · Native build ready |
| Hosting | Vercel (frontend) · Cloudflare Workers (API) |
Plans
Free
$0 / month
Partner search, open mat calendar, basic messaging. No credit card required.
Premium Athlete
$6.67 / month
Gym access, QR training verification, priority partner matching.
Gym Pro
$19.99 / month
List your gym, manage open mats, athlete analytics dashboard.
Try Training Partner Free
Sign up in 30 seconds. No credit card. BJJ, wrestling, judo, sambo, MMA.