How I'd build Stride
I'd reach for Next.js on the frontend, FastAPI on the backend, Postgres for the data layer, and Stripe for billing. I'd use Twilio for SMS check-ins, Resend for email, and Vercel plus Railway for hosting. All in, I'm estimating 140-160 hours to get to trial-ready: auth, multi-tenant separation, scheduling, check-in forms, progress tracking, client comms, and Stripe wired across three tiers. That's roughly three weeks of full-time work, or four to five weeks if I'm splitting time.
Day-by-day plan
- Day 1: Provision Postgres schema (users, coaches, clients, workouts, check-ins, billing). Set up Clerk for multi-tenant auth and JWT validation.
- Day 2: Stripe products and pricing tiers. Wire webhook handlers for subscription changes and dunning logic.
- Day 3: Next.js app scaffold. Login flow, coach signup, client invite flow.
- Day 3-4: Coach onboarding wizard. Name, photo, bio, first client invite, calendar integration handshake (Google Calendar read, or Zapier integration later).
- Day 5: Scheduling core. Calendar view, new workout creation, repeat rules, timezone normalization. Use date-fns for this.
- Day 5-6: Check-in system. Form builder (exercise name, reps, weight, notes, photo upload to S3). Notifications via email and SMS (Twilio).
- Day 6-7: Client messaging. In-app chat, message history, Resend for email digest, Twilio for SMS alerts so coaches stay responsive.
- Day 7-8: Progress tracking. Charts (gains in weight lifted, rep PRs), photo gallery, trend lines. Lightweight analytics for the coach dashboard.
- Day 8: Admin dashboard for coaches. View all clients, filter by check-in status, export data, trial expiration warnings.
- Day 8-9: Email sequences. Trial start, check-in reminder, NPS survey, conversion offer (annual discount).
- Day 9: Comprehensive testing. Multi-tenant isolation tests, Stripe edge cases (downgrade, cancel, failed payment recovery).
- Day 10: Deploy to Vercel and Railway, set up monitoring (Sentry for errors, basic Postgres monitoring), document the runbook.
What's hard about this build
Multi-tenant data isolation is the technical landmine. I need to ensure every query filters by the coach's ID without exception, or a bug leaks one coach's clients to another. Timezone handling across global coaches is another footgun: a coach in London and a client in LA need the check-in to arrive at the right local time, not UTC. Twilio and email delivery reliability matter for the growth loop: if check-in reminders don't land, coaches won't see it as reliable. The schema also needs audit trails so coaches can see when clients submitted check-ins and if anything was edited, reducing friction if trust issues come up. And the hardest part isn't technical: it's that coaches are tool-resistant, so an overly automated experience (robotic check-in language, no personalization hooks) will feel hollow and trigger churn.
What's fast because of AI
Claude accelerates the work significantly. I use it to enumerate edge cases in the Postgres schema: what happens if a coach downgrades mid-month, a client deletes their account, a check-in is scheduled for a deleted workout. It scaffolds Next.js components (data tables, modals, forms) in minutes instead of hours. Copywriting for the product UI - the check-in prompts, email subject lines, onboarding tooltips - Claude drafts these so they feel coach-friendly, not robotic. API endpoint logic and validation rules: I describe the intent and Claude writes the FastAPI handlers and request validators, cutting boilerplate. Testing is faster too; I describe a scenario and Claude writes the pytest cases. Debugging integration issues (Stripe webhook mismatches, Twilio retry logic) is faster when I paste logs and Claude spots the pattern.
How I'd hand it off
I'd record a 15-minute Loom walkthrough covering the deploy pipeline, environment variable setup, and how to scale Postgres. I'd create a Linear runbook: common tasks like "add a coach," "debug a failed payment," "reset a trial." I'd stay on a 30-day pager rotation for critical issues (zero Stripe revenue or auth going down). I'd transfer all credentials: Stripe API keys, Twilio account, Postgres backup setup, Vercel and Railway access. From there, the next phase is growth: Instagram/TikTok content, cold DMs to coaches with 200-5k followers, and 1-on-1 calls with early users to understand what's blocking adoption vs. what's working.