Coaching and youth-sports SaaS

A coaching platform on web and mobile, with billing that survives refunds.

SkillSchedule gives private coaches and the parents who book them one place to schedule, pay and stay in touch. We built all of it: parent, coach and admin portals, a marketing site, an Expo app for iOS and Android, Stripe billing with refund splitting, live-streamed sessions, guarded AI scheduling, and the email, SMS and tracking that run the business between sessions.

Engagement
Client
Client
SkillSchedule
Sector
Coaching and youth-sports SaaS
Story
Launch
SkillSchedule homepage on desktop: "Free for coaches. Forever. Your schedule, handled." beside a photo of young soccer players around a coach's tactics board, with a "You keep 100% of your rate" badge.
ClientSkillSchedule
LaunchCoaching and youth-sports SaaS
Fig. 01SkillSchedule homepage on desktop

The number

The one figure we’ll stand behind.

Open the receipt for where it came from, how it was counted and when we last checked it. How we count

v1.0.4

SkillSchedule’s iOS and Android app, built on Expo alongside the web portals

Expo / React Native with Stripe billing and refund splitting, sharing one API with the parent, coach and admin portals.

receipt

SOURCE · SkillSchedule mobile repository (app version and EAS build configuration)

METHOD · Version string from the app’s production build configuration.

VERIFIED · 2026-09

CLASS · repository

✓ every number on this site opens its receipt

CLAIM · app-store-live

How we count

01 · Where they started

Coaches, parents and a lot of moving parts

Private coaching runs on sessions, payments and communication between three kinds of people: coaches, parents and the team running the platform. SkillSchedule needed each of them to have their own view, and needed money, reminders and scheduling to work without anyone chasing them.

02 · The wall

Scheduling is the easy part

The hard parts are money that moves correctly (per-session charges, consolidated billing, promotions, and refunds that split properly), an app ready for App Store and Play Store review, live-streamed sessions with moderation and retention rules, and messages that reliably reach parents by email and SMS.

03 · What we built

What we built.

Named systems, described by what they do, one part at a time.

  1. Part 1: Three portals, a marketing site and a mobile app

    Parent, coach and admin portals are React + Vite PWAs over an Express + Postgres API, with role-based access across all three. The Expo app adds Apple and Google sign-in, push notifications, the Stripe payment sheet, speech input, and crash reporting through Sentry and Bugfender, with iOS and Android builds produced through EAS. A parallel re-platform onto Cloudflare Workers and Next.js is under way, with Vitest coverage.

    • Role-based access across parent, coach and admin
    • EAS build pipelines for iOS and Android
    • A marketing site on Strapi CMS
  2. Part 2: Money plumbing that gets audited

    Stripe handles per-session charges, consolidated billing, promotional pricing, waivers and refund splitting, and a nightly payment run follows up on failures automatically. Receipts are audited to state exactly what the card was charged, and the commit history shows dedicated correctness passes on money display and email amounts.

    • Refund splitting and consolidated billing
    • Nightly payment runs with failure follow-ups
    • Receipts that match the charge, audited
  3. Part 3: Live sessions, and AI on a short leash

    Sessions stream over LiveKit with comment filtering and retention policies. A coach assistant runs on GPT-4o with Claude as a fallback, and coaches can create sessions in plain language under a strict rule: the LLM extracts, the server decides. The model proposes names, dates and times; deterministic server code resolves them against the coach’s real roster, and the model has no write access at all.

    • A dual-provider assistant with automatic fallback
    • Deterministic entity resolution against the real roster
    • No write path for the model
  4. Part 4: Lifecycle messaging and attribution

    Scheduled jobs send session reminders, coach check-in reminders and payment-failure follow-ups by SendGrid and Postmark email and by Telnyx SMS with Twilio fallback, using branded short links. Google Tag Manager runs on all three web surfaces, Meta Pixel on the marketing site, and UTM-tagged QR posters attribute offline coach sign-ups the same way paid clicks are attributed.

    • Email plus SMS with a second carrier as fallback
    • GTM across the site, parent portal and coach portal
    • QR posters with offline attribution

04 · Up close

Real screens and real product photography, uncropped. Select any image to enlarge it.

Your turn · Production Gap Review

Find out what’s between you and production.

Bring your prototype, or just the idea. Leave with a written gap map — deployment, security, payments, integrations, growth readiness — before you spend a dollar. If we’re not the right team to close the gaps, the map is still yours.

30 minutes. A written gap map. No pitch unless you ask for one.

info@synaptech.io +1 (925) 255-9507 Pleasanton, CA

Start with the gap map

The live site, your repo, or a share link from an AI app builder like Lovable or Bolt. Private? Write “private” and we’ll ask for access.

Your answers prime the review agenda. We use them to reply — nothing else. Privacy policy

Free Production Gap ReviewBook a call