Notes and research on product sourcing, fulfilment partners, and business model options for the KritFit Store.
White-Label Dropshipping — How It Works
This is the standard model for fitness brands before they have the volume to manufacture themselves.
A third-party manufacturer makes the product, applies the KritFit brand, and ships directly to the customer.
KritFit never holds inventory — an order comes in through the store, you push it to the supplier, they handle the rest.
The KritFit Store already tracks orders with delivery status. The next step is wiring a fulfilment
partner's API so orders fire automatically with no manual work.
Printful is the recommended starting point (see below).
💊 Supplements
Private-label proteins, pre-workouts, vitamins. Manufacturer makes to spec, applies KritFit label, ships direct.
Check MOQs and
FDA labelling compliance before selecting.
| Supplier | Notes |
| Makers Nutrition |
US-based · low MOQ · dropship programs available · popular starting point |
| NutraScience Labs |
Good API / integration options · solid reputation |
| Vitacap Labs |
Smaller batch sizes · good for testing a product before scaling |
⚠ Supplements require FDA-compliant labelling. The supplier usually handles this,
but confirm before signing — especially for any health claims on the label.
👕 Apparel & Gear
Branded clothing and accessories. Print-on-demand means zero inventory and zero upfront cost —
each item is made when ordered.
| Supplier | Notes |
| Printful ⭐ |
Zero MOQ · zero inventory · clean API · ships direct · recommended first step |
| Printify |
Similar to Printful · wider supplier network · slightly lower base cost |
| Alibaba (private label) |
Resistance bands, belts, hard goods · requires inventory upfront · higher MOQ |
⭐ Recommended Starting Point — Printful
Printful is the lowest-risk entry into the KritFit Store because there is no upfront cost, no inventory,
and no minimum order. A user buys a KritFit hoodie → Stripe processes payment → order pushed to Printful
→ Printful prints and ships directly to the customer. KritFit earns the margin between Printful's base price and your sale price.
Apparel also carries zero FDA compliance risk, making it a clean
first product to test the end-to-end order flow before expanding into supplements.
Next step
Wire Printful
API to Store orders
Deep-dive research into fitness industry pricing — gym software, consumer apps, trainer platforms, and what gyms charge their members. Conducted April 2026.
⚡ Key Insights for KritFit Pricing
User app market rate
$7–$12/mo
KritFit at $2.34 is far below market
Gym software range
$57–$699/mo
Current KritFit gym tiers well below market
Trainer platform range
$26–$140/mo
KritFit $5.67 trainer sub is below market
US fitness facilities
114K+
207K+ globally · 77M US members
⚠ Per-member pricing is actively resented by gym operators — the market has moved to flat-rate or member-count tiers. Platforms advertising "unlimited members" are winning against per-member models.
✓ Member-count-tiered flat pricing (GymDesk model) is the most accepted structure: gyms pay a flat monthly fee that scales with size. Same economics, better psychology.
✓ KritFit is in a clean-slate position — all current subscriptions are test/sandbox. Pricing can be set correctly before launch.
🏋️ Gym Management Software — What Competitors Charge Gyms
| Platform | Entry | Mid | High | Model | Contract |
| Mindbody | $159/mo | $279/mo | $699/mo | Flat per location | Mo/Annual |
| PushPress | $0 (free) | $159/mo | $229/mo | Flat + add-ons | Month-to-month |
| Zen Planner | ~$99/mo | ~$169/mo | ~$289/mo | Tiered by members | Month-to-month |
| TeamUp | $119/mo | Scales by usage | Custom | Per active customer | Month-to-month |
| GymMaster | $89/mo (100 mbr) | $129/mo (400 mbr) | $209/mo (1,300 mbr) | Tiered by members | No lock-in |
| Pike13 | $159/mo | $225/mo | $286/mo | Flat per location | Mo/Annual |
| WellnessLiving | $69/mo | $199/mo | $349/mo | Flat, feature-tiered | Mo/Annual |
| Wodify | ~$79/mo | Quote | Quote | Quote-based | Month-to-month |
| RhinoFit | $0 (≤20 users) | $57/mo | $149/mo | Flat + add-ons | Month-to-month |
| GymDesk ⭐ | $75/mo (50 mbr) | $150/mo (200 mbr) | $200/mo (400 mbr) | Tiered by members | Month-to-month |
| ClubReady | $149/mo | $299–$399/mo | $499/mo | Flat per location | Annual |
| Glofox (ABC) | ~$100–200/mo | Custom | Custom | Quote-based | Annual typical |
⭐ GymDesk is considered the transparent budget leader with the clearest member-count tier model. RhinoFit is the true budget option. Mindbody is the dominant incumbent but widely criticised for pricing complexity. Real total cost for Mindbody is typically 60–100% higher than listed once add-ons and processing fees are included.
📱 Consumer Fitness Apps — What Individuals Pay
| App | Monthly | Annual | Annual/mo equiv. | Category |
| MyFitnessPal Premium | $19.99 | $79.99 | $6.67 | Food logging |
| MyFitnessPal Premium+ | — | $99.99 | $8.33 | Food + meal plans |
| Cronometer Gold | $9.99 | $49.99 | $4.17 | Micronutrient tracking |
| Hevy Pro | — | $23.99 | $2.00 | Strength tracking only |
| Strong Premium | — | $29.99 | $2.50 | Strength tracking only |
| Fitbod | $15.99 | $95.99 | $8.00 | AI workout generation |
| Strava Premium | $11.99 | $79.99 | $6.67 | GPS / social |
| Apple Fitness+ | $9.99 | $79.99 | $6.67 | Guided workouts |
| Freeletics | — | $79.99 | $6.67 | AI bodyweight training |
| WHOOP (Peak) | $30 | $239 | $19.92 | Hardware + recovery |
| Future (AI Trainer) | $199 | — | $199 | Human coach + app |
Pure software fitness apps cluster at $5–$12/month annually. KritFit delivers food + exercise + weights + GPS + AI + sleep + programs — far more than any single app above. Market-rate for the feature set is $9.99–$14.99/month or $79.99–$99.99/year.
💼 Trainer Platforms — What Trainers Pay to Manage Clients
| Platform | Entry | Standard | Pro | Client limit |
| Trainerize (ABC) | $0 (1 client) | $23/mo (5 clients) | $248/mo (1,000 clients) | 1–1,000+ |
| TrueCoach | $26/mo (5 clients) | $57.99/mo (20 clients) | $136.99/mo (50 clients) | 5–50+ |
| PT Distinction | ~$59.90/mo | — | — | Varies |
| My PT Hub | ~$52/mo | — | — | Varies |
| Exercise.com | $125/mo (~50 clients) | Custom | Custom | 50–unlimited |
Trainers pay $50–$140/month for standalone coaching platforms at 20–50 clients. KritFit's trainer tier at $14.99 is priced below even the bare-entry Trainerize plan. Market rate for a trainer sub with 10+ clients and full KritFit features is $29.99–$49.99/month.
💳 What Gyms Actually Charge Their Members
| Gym / Type | Monthly range | Notes |
| Planet Fitness | $15–$29.99 | Classic $15 / Black Card $25–$30 + $49/yr annual fee |
| LA Fitness | $30–$50 | Multi-club adds ~$10/mo · $59/yr annual fee |
| Crunch Fitness | $9.99–$29.99 | Signature clubs in major markets significantly higher |
| 24 Hour Fitness | $10–$65 | Varies widely by tier and location |
| Anytime Fitness | $38–$55 | 24/7 access, global reciprocal · franchise rates vary |
| Orangetheory | $59–$179 | Class-based (4 / 8 / unlimited per month) · NYC up to $179 |
| F45 Training | $170–$250+ | Group HIIT franchise · premium boutique positioning |
| CrossFit box (suburban) | $125–$175 | Unlimited access · ~$150–$200 national average |
| CrossFit box (urban) | $225–$300 | NYC / LA / SF · drop-in $20–$35 |
| Yoga studio (boutique) | $110–$200 | Drop-in $20–$35 · 10-class packs $100–$200 |
| Pilates (reformer boutique) | $150–$360 | Private sessions $80–$150 each · Club Pilates $149–$199/mo |
| Independent online trainer | $50–$600 | Basic template $50–$100 · premium custom $300–$600 |
Planet Fitness's $15/month has created a psychological floor that makes $25–$30 "feel premium." Boutique fitness average is approximately $180/month. Independent online trainers charging $100–$300/month are the fastest-growing segment. KritFit gym members paying their gym separately will typically be paying $50–$300+/month — KritFit's personal subscription on top of that needs to feel like a small add-on by comparison.
📊 Market Size & Segments
US fitness facilities
114K+
gyms, studios, boxes, martial arts
Global facilities
207K+
HFA 2025 Global Report
US gym members
77M
record high 2024 · ~24% of Americans
CrossFit affiliates
~10K
down from 15K peak · 120 countries
Boutique studios
60–65%
of all US facility count
Gyms without software
31%
cite high cost as barrier
Typical independent studio size: 50–200 active members for boutique/CrossFit · 100–350 for yoga/Pilates. The gym software sweet spot is the independent studio operator — too small for enterprise contracts, too busy for spreadsheets.
Gym software market (2025): $2–4B (narrow definition) growing at ~10% CAGR. North America specifically growing at ~35% CAGR.
Software adoption: 57% cloud-based · 31% still on-premise · 25% of small gyms cite high fees as the barrier to adoption — a direct opportunity for KritFit's pricing.
🎯 Market Research — Competitor Pricing Reference
Historical research only — pricing is now finalized (see Agreed Model below). KritFit prices are intentionally below market to reach the broadest audience.
| Tier | KritFit Final | Market range | Notes |
| User / monthly | $2.34 | $8–$20 | Intentionally below market — mission pricing |
| User / annual | $28.08 | $60–$100 | $2.34 × 12, no discount — price sequence integrity |
| Trainer / monthly | $5.67 | $26–$140 | Below TrueCoach entry with no client limit |
| Trainer / annual | $68.04 | $200–$500+ | $5.67 × 12 |
| Gym | $89/mo base | $75–$350+ | $1/member above 89 · single tier · scales linearly |
✅ AGREED PRICING MODEL — Final (April 2026)
Locked in. All prices built from the sequence 1–2–3–4–5–6–7–8–9. User + Trainer have monthly and annual options. Gym and Family Focus are monthly only. All current Stripe data is sandbox/test.
| Tier | Price | Sequence | Who pays | Notes |
| 🎖 VETERAN | $1/mo | 1 | Member | ID.me verification required · permanent rate · User features |
| USER | $2.34/mo · $28.08/yr | 2–3–4 | Member | Full personal app · 1 free month trial |
| TRAINER | $5.67/mo · $68.04/yr | 5–6–7 | Member | Unlimited clients · clients need own $2.34 sub |
| GYM | $89/mo base | 8–9 | Gym | $1/member after 89 · 1.5% on member transactions |
| FAMILY FOCUS | $2.34/mo | 2–3–4 | Subscriber | Senior wellness app · 120 AI calls · 200 messages/mo |
| FAMILY FOCUS+ | $5.67/mo | 5–6–7 | Subscriber | 500 AI calls · 500 messages/mo · top-up $2/+30 calls |
GYM ADD-ONS (modular)
| Add-on | Price | Who pays | Control |
| GYM PREMIUM | $1.34/mo | Member OR gym | No gym control — member's own choice. $1 (gym share) + $1.34 = $2.34 (exact User price) |
| TRAINER MODULE | $5.67/mo per trainer | Gym OR trainer self-pays | Gym setup: ☐ Enable trainer module |
GYM FEATURE TIERS
| Feature | Gym Basic | Gym Premium ($1.34) | User ($2.34) |
| BODY | Weight logging only | Full body tracking | Full body tracking |
| TODAY | Gym overview only | Full personal today | Full personal today |
| FOOD | Hidden | Full food tracking | Full food tracking |
| SUPPS | Hidden | Hidden | Full |
| TRAIN | Cardio, Weights & Stats | Full (+ Routes, Sports, Calm, Learn) | Full |
| PROGRAM | Hidden | Full | Full |
| INBOX | Gym broadcast (read only) | Full (friends + groups) | Full |
| STORE / INSTART | Hidden | Hidden | Full |
GYM SETUP CHECKBOXES
☐ Enable trainer module — activates trainer tools at $5.67/mo per trainer (gym pays, or designates trainer to self-pay)
☐ Allow members to purchase training access — lets members opt into trainer connection through the gym app
Note: $1.34 premium upgrade is always available to members — gym has no control over it. It runs silently as a direct KritFit → member relationship.
💰 Revenue Model — Example Gym
Gym with 120 members, 2 trainers, 30 premium members, charging $55/mo membership:
| Component | Calculation | KritFit earns |
| Gym base | $89 + (31 extra members × $1) | $120/mo |
| Trainer add-on | 2 × $5.67 | $11.34/mo |
| Premium members | 30 × $1.34 | $40.20/mo |
| Transaction fee | 1.5% × (120 × $55) | $99/mo |
| TOTAL from one gym | $270.54/mo |
10 such gyms = $2,705/month from gym tier alone, before any personal User/Trainer subscribers.
Research report on building a Nutritionist professional tier — credentials, workflows, APIs, competitor pricing, and promotion strategy. Generated May 2026.
1. Certification & Verification
Key credentials (US):
| Credential |
Issuing Body |
Requirements |
Notes |
| RD / RDN | CDR (Academy of Nutrition & Dietetics) | Master's degree + supervised hours + national exam | Gold standard. Legally protected in 43+ states |
| CNS | BCNS / American Nutrition Assoc. | Master's + 1,000 supervised hours + exam | Second-tier gold standard. Integrative/functional focus |
| CSSD | CDR (add-on to RDN) | RDN + sports nutrition experience + exam | Certified Specialist in Sports Dietetics — most relevant for KritFit |
Verification approach: No public nutrition credential API exists (unlike NPI for doctors). Recommended path:
- RDN: require Credly badge URL → fetch badge JSON from Credly's open API to confirm active "Registered Dietitian" credential
- RDN billing insurance: optional secondary check via NPI Registry API (taxonomy code 133V00000X) — free public REST API at npiregistry.cms.hhs.gov
- CNS: require scanned verification letter from BCNS dated within 90 days
- Same document-upload + attestation model as Trainer tier, with one extra automated Credly check for RDNs
Legal distinction: "Nutritionist" is unprotected in many states — anyone can use the title. "RD/RDN" is legally protected in 43+ states. Medical Nutrition Therapy (MNT) — creating therapeutic plans for diagnosed conditions — is restricted to RDNs/CNSs. KritFit must not enable MNT framing for unverified practitioners. Safe framing: "nutrition coaching" / "wellness guidance."
2. Nutritionist Client Workflow
Step 1 — IntakeHealth history, meds, allergies/intolerances, dietary restrictions, budget, cooking skill, goals, lab values (HbA1c, lipids, ferritin, Vit D). 60–90 min first session.
Step 2 — Assessment24-hr dietary recall or 3-day food record review. Anthropometrics: weight, BMI, waist, body fat %. Set collaborative goals. Assign food journaling.
Step 3 — Meal PlanBuild assigned plan OR review existing eating + coach corrections. Generate grocery list, recipes, supplement recs. Both modes needed.
Step 4 — Follow-UpReview food log since last session. Check weight/metric trends. Adjust macro targets. Address barriers. Update plan. Bi-weekly or monthly cadence.
Step 5 — MessagingBetween-session check-ins. Client asks "Is this food okay?" Practitioner annotates food log entries. Voice/text async replies. Key engagement driver.
Step 6 — ReportsMonthly/quarterly: weight trend graph, macro adherence %, micronutrient gaps, goal achievement, next phase plan. PDF export required.
Data nutritionists need from a KritFit client: full food log with macros + full micronutrient panel, water log, supplement log, weight trend, body fat %, exercise log, sleep data, energy/mood/GI ratings, lab values (manual entry). This is data KritFit already captures — a major competitive advantage over standalone nutrition platforms.
3. API Sufficiency
| API |
Cost |
Strengths |
Gaps |
Verdict |
| USDA FoodData Central | Free | 380k foods. Full micronutrient panel (all 13 vitamins, all minerals, choline, fatty acid subtypes). Gold standard for whole foods. | No glycemic index. No FODMAP. No restaurant data. Branded foods missing micronutrients. | ✓ Keep as backbone |
| Edamam Nutrition API | ~$99–$299/mo | 170+ nutrients. Allergen flags (Big-9 incl. sesame). Glycemic index. FODMAP flags. Diet type tags. Recipe NLP parsing. 2.3M recipes. | Paid. No oxalate/purine/histamine data. | ✓ Add for pro tier |
| Nutritionix API | Free / $99+/mo commercial | Best restaurant chain coverage. NLP food parsing ("two eggs and toast" → nutrient breakdown). 800k branded items. | Less micronutrient depth than Edamam. Limited recipe analysis. | Optional — if restaurant data is priority |
| Open Food Facts | Free (CC BY-SA) | 2.8M+ packaged products globally. Nutri-Score, NOVA processing class, allergens, barcode scanning. | Crowdsourced — accuracy varies widely. Not research-grade. Micronutrients often missing. | Keep as fallback for branded/international items only |
Missing from all affordable APIs (niche populations only): FODMAP ratings (Monash University database — specialty licensing needed), oxalate content (kidney stone clients), purine content (gout clients), histamine content (histamine intolerance), vitamin K1 vs K2 distinction (warfarin patients), lectin content (functional nutrition).
Micronutrients RDNs actively track that consumer apps skip: Vitamin D, folate as DFE, heme vs. non-heme iron, magnesium, potassium, zinc, B12, omega-3 split (ALA/EPA/DHA), saturated vs. unsaturated fat, added sugar vs. natural sugar, choline, iodine.
4. Competitor Platforms & Pricing
| Platform |
Price/mo |
Client Limit |
Key Features |
Missing |
| Practice Better | $25–$89 (annual) $35–$145 (monthly) | 10 → Unlimited | Telehealth, scheduling, client portal, food journal, SOAP notes, messaging, billing/Stripe, group programs, protocols. Most popular platform for RDNs. | No built-in nutrition DB analysis — requires That Clean Life integration. No fitness/activity/sleep data from clients. |
| Healthie | $20–$130+ | 10 → Unlimited | Full EHR, HIPAA/SOC2, insurance billing (CMS-1500), food journaling, telehealth, Apple Health/Fitbit integration. Best for insurance-billing RDNs. | Expensive. No workout/trainer integration. Complex setup. |
| Nutrium | $28–$44 (10 clients) | 10 base, scales | Native meal planning with auto nutrient calc, anthropometric tracking, client messaging, telehealth, PDF export, multi-language. Nutrition analysis built-in. | No insurance billing. No fitness/trainer integration. Weaker practice management vs Practice Better. |
| Cronometer Pro | $40/mo (10 clients) | 10 base, $2.50/extra | 84 nutritional attributes — most micronutrient-precise tool available. Used in clinical/research. HIPAA Pro available. | No scheduling, telehealth, billing, or full practice management. Tracking only. |
| That Clean Life | $49–$99 | N/A (meal plans only) | Recipe library + meal plan builder. Integrates with Practice Better. Very fast plan creation from curated recipe templates. | Not a standalone platform — just meal planning. No client management, tracking, or communication. |
KritFit's unique advantage over all of these: The nutritionist's clients are already in the app, with pre-populated workout logs, sleep data, weight trends, and food logs. No competitor can replicate this on day one. Cross-professional referrals between Trainer and Nutritionist tiers within a single platform is a feature that does not exist anywhere else in the market.
5. Supplement Recommendations — Legal & Liability
Dietary supplements are classified as food under DSHEA — no federal law restricts who can recommend them. However, state scope-of-practice laws vary: exclusive-practice states (FL, AL, MS) may restrict personalized supplement recommendations to licensed practitioners. Open states (CA, CO, WA, AZ, ME) have no restrictions.
Safe vs. restricted examples:
✓ "Magnesium glycinate 400mg before bed for sleep" — generally acceptable non-RDN wellness guidance
✗ "Stop your iron supplement because your ferritin labs show toxicity" — this is MNT, restricted to RDNs/CNSs in most states
Platform safeguards needed:
- Visible disclaimer on all supplement recommendation UI: "For general wellness only — not medical advice. Consult a licensed healthcare provider."
- Credential-tiered output: verified RDN/CNS gets "Clinical Guidance" label; others get "Wellness Coaching" label
- Require proof of professional liability / E&O insurance ($150–$300/yr, Insurance Canopy or CPH Insurance)
- ToS: recommendation liability rests with the individual practitioner, not KritFit
- FTC compliance: any affiliate/brand supplement promotion requires disclosure
6. Promotion Strategy & "Tips from Local Nutritionists"
Food tab tip rotation mechanic: Nutritionist tier members submit 1–3 short tips per week (140–200 chars), tagged by topic (protein timing, gut health, hydration, pre-workout fuel, etc.). Tips rotate on the food log tab and post-meal logging screen to users in the same geographic region. Each tip shows the practitioner's name, credential, and distance — with a "Book a consultation" CTA.
Why it works: Zero-cost local marketing for practitioners. Incentivises keeping subscription active (tips stop if subscription lapses). Contextually relevant for users (post-meal tip = high attention moment). Builds trust and drives bookings entirely within the app.
Moderation required: Tips should not auto-publish — moderate for scope-of-practice violations and misinformation before display. Tag tips with credential level.
Extension ideas: "Featured Nutritionist of the Week" spotlight in the Discover section. Trainer → Nutritionist cross-referral button on shared client records.
7. Build Recommendations
Pricing recommendation
$29–$49/mo to undercut Practice Better Professional ($59/mo) while offering KritFit's unique cross-data advantage. Free 14-day trial.
Credential minimum
Require RD/RDN (Credly badge), CNS (BCNS letter), or state nutrition license. Do not allow uncredentialed listings — scope-of-practice liability risk.
API stack
USDA FoodData Central (free backbone) + Edamam Nutrition Analysis (paid, ~$99–$299/mo for allergens, glycemic index, recipe parsing). Budget accordingly.
MVP feature set
Food log access with full micronutrient view, meal plan create/assign, client messaging, supplement rec (with disclaimer layer), PDF export. Covers 90% of day-to-day workflow.
Schema additions needed
food log micronutrient fields, meal plan data structure, nutritionist profile fields (credentialType, credentialNumber, credentialExpiry, credentialVerifiedAt, credlyBadgeUrl), supplement recommendation records, client consent flags for nutritionist data access.
Locator map tab
Three tabs: GYM | TRAINERS | NUTRITIONISTS. Same search radius / pin logic as Trainer tab. Credential badge shown on nutritionist profile card.
Sources: CDR / Academy of Nutrition & Dietetics, BCNS / American Nutrition Assoc., USDA FoodData Central, Edamam API, Nutritionix API, Cronometer Pro, Practice Better, Healthie, Nutrium, Cohen Healthcare Law, FTC Health Products Compliance Guidance. Research compiled May 2026.
Research into sports team roster sizes, league structures, competitor pricing, and the market opportunity for the CHAMPION / TEAM / LEAGUE / ASSOCIATION tier stack. Conducted May 2026.
Why This Is a Growth Unlock
KritFit currently grows one user at a time. With TEAM/LEAGUE/ASSOCIATION tiers, a single team captain adopting the app brings 15–22 members with them.
A local sports league signing up is 80–250 CHAMPION subscribers from one decision. No other fitness app combines fitness tracking with team management — that gap is the opportunity.
Unique position: Spond, GameChanger, and LeagueApps offer scheduling and comms for free but have zero fitness integration.
KritFit would know that your striker did 3 sessions this week and is peaking before the championship. Nobody else does that.
1. Typical Amateur / Club Roster Sizes
Full active squad registered for a season — not just matchday starters.
| Sport |
Roster size |
Notes |
| Soccer 11v11 (adult) | 18–22 | Min 7 to start; clubs buffer for absences |
| Soccer 7-a-side (rec) | 10–12 | Most common small-sided format |
| Basketball (5v5 rec) | 10–12 | Most leagues cap at 12 |
| Volleyball (club) | 12–15 | 6 on court; 12 is traditional standard |
| Ice Hockey (amateur) | 16–20 | USA Hockey max 20; beer-league avg 15–18 |
| Field Hockey (club) | 14–18 | 11 starters + 5 subs standard |
| Rugby 15s (club) | 23–35 | USA Rugby min 18; full season squad 30–35 |
| Rugby 7s | 10–15 | Per tournament weekend |
| Baseball / Softball (adult) | 12–20 | MSBL avg ~14; min 10 to field |
| Cricket (club) | 13–17 | 11 + 12th/13th men; tournament squad 15–17 |
| Futsal | 10–14 | FIFA allows up to 9 subs named per match |
| Flag football (7v7) | 10–12 | Adult amateur rec standard |
| Tackle football (adult) | 35–45 | Semi-pro / community leagues enforce 30 min |
| CrossFit / fitness team | 4–6 | Competition format; box membership 50–500 |
| Running club (competitive) | 15–25 | Racing subset; full club membership can be 200–300+ |
| Cycling club (competitive) | 20–50 | Large regional clubs up to 150+ |
| Swimming club | 80–150 | USA Swimming median 80–120 competitive members |
Key insight: 20 players covers the majority of sports at standard roster size — the natural base threshold for the TEAM tier.
2. Typical Local / Regional League Sizes
| Sport |
Teams per division |
Players per league |
| Soccer 11v11 (adult) | 8–16 per division; large metro leagues 50–130 total | 150–250 per division; 1,000–2,500 large metro |
| Soccer 7-a-side (rec) | 6–12 | 60–120 per division |
| Basketball (rec) | 6–12 (some cap at 8) | 60–140 |
| Volleyball | 6–10 per division | 60–100 per division |
| Baseball / Softball | 8–16 | 100–240 |
| Rugby 15s | 6–12 clubs per regional comp | 180–360 |
| Ice Hockey | 6–12 per division | 100–200 |
| Cricket | 6–12 | 80–180 |
Reference points: Philadelphia adult soccer league ~130 teams across 11 divisions. Minnesota Amateur Soccer League 37 teams.
MSBL (baseball) 3,200 teams in 325 local affiliates (~10 teams per affiliate). USASA national leagues require 36 teams minimum.
For pricing: a "league" is most commonly 8–16 teams locally.
3. Competitor Pricing (2025–2026)
| Platform |
Single team/yr |
League/yr |
Model |
| TeamSnap | $100–$130 | ~$599+ (custom) | Flat subscription |
| GameChanger | $0 | $0 | Free; fan subscriptions $40–$100/yr |
| Spond | $0 | $0 | Free; % fee on payment collection |
| LeagueApps | $0 | $0 | ~5% of registration transactions |
| SportsEngine HQ | N/A (org-level only) | $799–$2,199 | Flat + 3.5% + $2/transaction |
| Hudl | $400–$1,600 | N/A | Video/analytics only; annual |
| SportNinja | ~$1.20/player/mo | $50/500 players/mo | Per-participant |
The gap:
$200–$600/year for small leagues (6–16 teams) is underserved by every current player.
Free tools (Spond, GameChanger, LeagueApps) have zero fitness integration. TeamSnap has weak league management and no fitness layer.
SportsEngine targets large orgs only. KritFit would be the only product combining fitness tracking + team management + leaderboards.
4. Proposed Tier Stack & Pricing Logic
| Tier |
Who |
Base includes |
Overage |
Rationale |
| CHAMPION $3.45/mo | Solo competitive athlete | 1 person | — | Not an earner; $3.45 = coffee/mo |
| TEAM TBD/mo | Captain / coach, 1 squad | 20 players | $1/player above 20 | Covers soccer, basketball, volleyball, hockey |
| LEAGUE TBD/mo | League coordinator | 10 teams (≈200 players) | $1/player above threshold | Must be cheaper than buying 10 TEAMs |
| ASSOCIATION TBD/mo | Regional governing body | 8 leagues | $1/player above threshold | Must be cheaper than buying 8 LEAGUEs |
Base prices for TEAM / LEAGUE / ASSOCIATION are TBD — pending final decision. The math rule: each higher tier must be obviously cheaper than buying the lower tier in multiples.
All members inside a TEAM/LEAGUE/ASSOCIATION subscription get full CHAMPION features — no per-person billing for members.
5. Total Addressable Market (US)
Amateur sports clubs (registered)
90,447
Registered nonprofits/clubs; 78,000+ active (up 37% since 2020)
Youth sports teams (estimated)
~4 million
60M children in organized sports ÷ ~15 per team
Adults currently in a league
9%
Of US adults; 19% now play team sports (up from 11% in 2020)
Sports management software market
$6.9B
Global (youth/amateur segment); ~34% of total sports software market
6. CHAMPION Feature Set
Individual (CHAMPION $3.45/mo)
- Platform-wide & group leaderboards
- Neighbourhood view (rank ±2 above/below)
- Personal records tracking (PRs)
- Monthly / weekly board resets
- Competitive streak badges
Team / League / Association (flat rate)
- All CHAMPION features for every member
- Team leaderboard (scoped to squad)
- Player positions & titles (free-text, admin-assigned)
- Schedule: practices, games, championships
- Team stats roll-up (total training, streak leaders)
- Admin assigns roles / manages roster
- Push notifications for scheduled events
Note: neighbourhood view requires ≥10 active entries on the board to avoid exposing small-group identity — show full list below that threshold.
Sources: TeamSnap, GameChanger, Spond, LeagueApps, SportsEngine, Hudl, SportNinja pricing pages; CauseIQ amateur sports clubs directory; USA Hockey roster rules; MSBL national data; Philadelphia & Minnesota adult soccer leagues; USA Swimming club data; SFIA 2024 team sports participation report; USASA affiliate data; Project Play youth sports facts. Research compiled May 2026.
7. What Coaches Use Today — Tool Landscape
Typical amateur/club coach stack: 5–6 separate tools with no data connection between them. 61% of coaches report administrative burnout.
| Tool |
Category |
Price |
Who uses it |
Biggest weakness |
| WhatsApp / GroupMe | Communication | Free | Everyone by default | No sport context, important messages buried in chat noise |
| BAND | Communication | Free | High school/rec; NFHS official app | No fitness or coaching tools — general purpose only |
| TeamSnap | Scheduling + Comms | Free–$130/yr | US youth sports (~24M users) | Admin-only, zero coaching or fitness tools |
| Spond | Scheduling + Comms | Free | Amateur/recreational globally, dominant in Europe | No coaching tools, delayed notifications, no fitness data |
| GameChanger | Scheduling + Stats | Free (coaches) | Baseball/softball primarily | Sport-specific, no training or fitness integration |
| TrainingPeaks | Training plans | $22–$55/mo | Endurance (cycling, triathlon, running) | Endurance only, assigns to individuals — no group/position subgroups |
| TrueCoach | Training plans | $26–$137/mo | Personal trainers, CrossFit | Individual model only — no subgroup assignment, no team scheduling |
| Teamworks | Full OS | $10k–$100k+/yr | NFL, NBA, Premier League, D-I college | Completely inaccessible to amateur clubs — this is the gap KritFit fills |
| STATSports APEX | GPS tracking | ~$150–$200/unit | Amateur–pro (consumer GPS vest) | Data siloed in STATSports app — no coach team dashboard, no plan integration |
| WHOOP | Wearable (HRV/recovery) | $30/mo per athlete | Serious athletes, CrossFit, college | $900/mo for 30-player team — no team scheduling or plan integration |
| Hudl | Video analysis | $400–$3,300/yr | High school and above | Expensive for grassroots, no fitness data integration |
| LeagueApps | Registration + payments | ~3.98% + $1.98/txn | Youth leagues and associations (US) | Purely admin — no communication, coaching, or fitness tools |
| SportsEngine | Registration + League mgmt | $58–$69/mo + 3.75% | National governing bodies (USA Hockey, US Youth Soccer) | Expensive, outdated UI, no coaching tools |
8. What Coaches Complain About Most
#1 — Tool fragmentation
"I have to open five tabs just to update the team." Typical stack: WhatsApp + TeamSnap + Google Sheets + TrainingPeaks + Hudl. None talk to each other.
#2 — Players won't download another app
Families with kids in multiple sports face 5+ apps. Every new tool a coach adds reduces compliance. App adoption is a constant battle.
#3 — Coaching tools built for 1:1, not 1:many
TrainingPeaks, TrueCoach, CoachNow — all built for personal trainers. A team coach with 30 players needs group assignment and aggregate readiness. No affordable tool does this.
#4 — No fitness context in scheduling tools
TeamSnap and Spond know who's available Saturday. They have no idea that Saturday follows three hard training days or that a player has an overuse risk. Fitness state is invisible.
#5 — Manual data entry everywhere
Attendance logged in TeamSnap has to be re-entered in a spreadsheet. GPS data lives in one app, training plans in another, game scores in a third. Nothing aggregates.
#6 — Cost barrier at amateur level
Pro tools (Catapult, Teamworks, Hudl) are unaffordable below semi-pro. Clubs that need performance analytics most have zero access. Coaches are flying blind on player readiness.
9. The Genuine Gaps — What No Tool Offers at Amateur Level
Gap 1 — Fitness-aware team management (KritFit's killer feature)
No tool below ~$15,000/year shows a coach the fitness/readiness state of their roster alongside the schedule. KritFit already has individual workout data on every user. Surfacing that into a team scheduling view is entirely novel at the amateur price point.
Gap 2 — Group training plans with positional subgroups
No affordable tool assigns different training plans to Forwards vs Defenders vs Goalkeepers. Training plan builders treat all athletes identically. The intersection of group assignment + individual fitness context is empty at club level.
Gap 3 — Single identity: athlete + team member
A KritFit user already logs workouts, food, wellness. When they join a team on KritFit, their coach should see that training context automatically (with permission). No tool connects individual athlete data to their team coach without a separate platform setup.
Gap 4 — Injury/wellness check-in integrated with training
When a player self-reports soreness, no tool adjusts their training prescription or flags them to the coach before the next session. Teamworks does this at $50,000/year. KritFit could do it for a team at $10/month.
Gap 5 — $200–$600/year sweet spot for small leagues
Free tools (Spond, BAND) have no coaching. Enterprise tools (Teamworks) start at $10,000+. The $200–$600/year range for a full-stack solution (comms + scheduling + training + performance context) is almost entirely unoccupied. KritFit's LEAGUE tier would own it.
10. The Amateur Performance Gap — Who Has What
| Level |
Tools available |
Monthly cost |
| Professional | Catapult + Teamworks + Hudl + custom staff | $5,000–$50,000+ |
| D-I College | Catapult/STATSports + Teamworks + Hudl | $2,000–$10,000 |
| Semi-pro / Academy | STATSports + TrainingPeaks + Hudl Bronze | $500–$2,000 |
| Club / Amateur ← KritFit target | WhatsApp + Google Sheets + STATSports (some) | $0–$50 |
| Recreational | WhatsApp + TeamSnap free | $0 |
The club/amateur tier — the largest by volume — either has nothing or cobbles together free tools with no fitness data integration. KritFit already has individual fitness data on users. Adding a team management layer on top is the differentiator no current tool offers at this price point.
11. Build Priority — Feature Spec Implications
Must Have (table stakes)
- Team scheduling + RSVP
- Google/Apple calendar sync
- Group messaging with role separation (coach / player / parent)
- Roster management
- Payment collection (Stripe Connect, 2% commission)
Differentiators (no cheap tool offers these)
- Coach readiness dashboard (roster fitness state + schedule)
- Group training plan assignment (positional subgroups)
- Athlete's KritFit workout data visible to team coach (with permission)
- Wellness check-in → modifies training suggestion
- Training load flags overtraining risk across roster
Build Later
- Basic stats / scorekeeping per sport
- Game clip sharing (not full Hudl)
- Wearable data import (STATSports / Garmin / Apple Health)
- Full league management / governing body compliance
- Full video analysis
Sources (tool landscape): TeamSnap, Spond, GameChanger, TrainingPeaks, TrueCoach, CoachNow, Final Surge, Teamworks, STATSports, WHOOP, Hudl, Veo, LeagueApps, SportsEngine, Pitchero, CrewLAB 2025 Swim Coach Insights, ANHCO 2025 Wearable Tech Coaching Guide, CauseIQ, Project Play, SFIA 2024. Research compiled May 2026.
Design research for the Senior Care Circle — a three-way connection between Guardian, Senior, and professional care providers (Therapist, Nutritionist, Trainer). Captured May 2026.
🔺 The Triangular Relationship
Every other professional relationship in KritFit is bilateral — one person pays and receives the service.
The Senior care circle is fundamentally different. It is triangular:
Professional
├── delivers service to ──→ Senior (beneficiary)
└── reports to / billed by → Guardian (responsible party)
The Guardian cannot always be present — they may be in a different city or country.
A professional's "client" record must hold two contacts: the Senior (receives the service, is the subject of health data)
and the Guardian (authorises the connection, pays, receives reports).
This same triangle applies to the Kids care circle — design it as a generalised
responsible-party / beneficiary model so both inherit the same schema and UI.
📋 Session Reports — the Core Value
The care circle is not just a data share — it is a care coordination layer.
Professionals visit or call the senior in person. The Guardian cannot be there.
After every interaction, the professional files a session report that goes directly to the Guardian.
A session report contains:
- Date, interaction type (in-person / video / phone), duration
- What was done — exercises run, meal plan reviewed, therapy session notes
- Senior's condition: mood, energy, pain level, any complaints voiced
- Concerns flagged for the Guardian — anything that stood out
- Next session date / plan
Two-layer picture: the app tracks the self-reported layer (walks, water, sleep, food).
The session report adds the observed layer — what a trained eye noticed in person.
The Guardian reads both together. Example: Nutritionist visits Thursday, can already see
that Mum drank only 2 glasses of water Wednesday and skipped breakfast before arriving.
They arrive informed. After the visit they file their report. Guardian reads both in one place.
Cross-professional visibility: if the Trainer flagged low energy Monday, the Physio should see that before Friday.
Controlled by a Guardian consent toggle — Guardian decides which professionals can see other professionals' reports.
💳 Billing — Stripe Connect (In-App Default)
Out-of-app billing fragments the record: invoice in email, bank transfer elsewhere, session report in KritFit —
three separate things to correlate. In-app billing keeps everything together permanently.
Guardian and Senior are often in different locations, making out-of-band payment impractical.
How it works — Stripe Connect:
- Professional connects their Stripe account to KritFit during onboarding (one-time, a few minutes)
- Guardian pays through KritFit
- Stripe routes funds automatically — professional receives their amount, KritFit takes its platform fee
- Both parties get a permanent record linked to the session report it paid for
The session report triggers the invoice — professional files report, attaches charge,
Guardian receives one notification: "Session report filed — £45.00 due." Guardian approves. Done.
Hard rule: Stripe Connect is required for care circle access.
If a professional has not connected their Stripe account, they do not get the three-way Guardian / Senior connection.
No exceptions. The care circle is a KritFit-mediated relationship — KritFit only mediates when it is part of the transaction.
Professionals who want to manage their own billing can still use KritFit for regular bilateral clients.
📍 FIND PROFESSIONALS Tab — Local Directory
The Guardian's Senior Portal has a FIND PROFESSIONALS tab that only appears when
KritFit-subscribed professionals (Therapist, Nutritionist, Senior-qualified Trainer)
exist within the Guardian's locality. If none are in range, the tab is hidden — no empty states.
- Professionals must opt in to "discoverable" in their portal settings
- Must have active KritFit professional subscription and completed Stripe Connect
- Must have location on file and a set visibility radius
- Every professional in the directory is guaranteed to bill through KritFit
Connection via directory: Guardian taps professional → sees profile, bio, distance → taps "REQUEST CONNECTION" →
in-app notification to professional → professional accepts → care circle established.
No code exchange needed when discovered through the directory.
⚖️ Platform Liability — KritFit is Infrastructure, Not a Guarantor
✓ KRITFIT PROVIDES
- Connectivity between Guardian, Senior, Professional
- Billing infrastructure (Stripe Connect)
- Digital records (session reports, documents)
- Tools to help Guardian verify credentials
- Links to relevant licensing boards by profession
- Document upload space for professional certificates
✕ KRITFIT DOES NOT
- Verify credentials or licences
- Guarantee a professional is qualified
- Guarantee a professional is who they claim
- Take responsibility for professional conduct
The Guardian reviews uploaded documents and makes their own decision. KritFit's terms of service make clear it is a connectivity platform, not a vetting service.
This keeps KritFit outside healthcare provider regulation (HIPAA in the US, CQC in the UK).
UI copy rule: every screen touching a professional's credentials must say
"Documents shared by this professional — not verified by KritFit."
Never use the word "verified" or "certified" in any UI element near professional credentials.
🗄️ Schema Sketch (not yet in SCHEMA.md)
These are design notes — update SCHEMA.md before writing any code.
| Collection / Field | Purpose |
| senior_care_circle/{seniorUid}/connections/{professionalUid} | Active care circle connection record |
| seniorUid, guardianUid, professionalUid, role | The three parties + professional role |
| consentBy: 'guardian' | 'senior' | Who authorised the connection |
| connectedAt, active | Lifecycle fields |
| users/{seniorUid}/care_reports/{reportId} | Session reports filed by professionals |
| professionalUid, role, type, date, duration | Who filed it and when |
| whatWasDone, condition, concerns, nextSession | Report body fields |
| invoiceAmount, invoicePaid, stripePaymentId | Billing fields on the report |
| user_registry/{uid} (professional flags) | Added to existing registry doc |
| discoverable, locationGeohash, visibilityRadiusKm | FIND PROFESSIONALS directory fields |
| professionalBio, stripeConnectId | Profile + billing setup |
Research captured from design conversations May 2026. No code has been written for this feature. Update SCHEMA.md before beginning implementation.
Architecture and design notes for the KritFit Ticketing system — gate check-in, offline operation, universal code integration, and the Gate A / Line A funnel model. Captured May 2026.
🚪 Offline Gate Check-In — The Funnel Model
Gate operators may be in areas with no reliable network. The solution is to
pre-download the ticket list to the device before the event starts
and check against it locally. No network needed at the gate.
The potential fraud risk (same ticket at two gates simultaneously) is solved
by the physical funnel — not by software.
THE PRINCIPLE
You cannot simultaneously be in Line A and Line B. Each ticket is pre-assigned
to a gate zone at purchase time. Gate A's device holds only Gate A tickets.
Gate B's device holds only Gate B tickets. A zone-A ticket at Gate B is
rejected instantly — no network needed. The queue is the deduplication.
SMALL EVENTS (1 gate)
No zone assignment needed. Download full ticket list. Work offline. Sync when done.
LARGE EVENTS (multi-gate)
Gate zones mandatory. Organiser creates gates before event. Ticket assigned to zone at purchase.
Only remaining edge case: someone sharing their QR with a friend in the same queue.
Same risk as a paper ticket. Mitigation: name-on-ticket display at gate for identity check (organiser's option).
📋 Operational Flow
- Organiser creates event → sets up gates (Gate A = Section 1–10, Gate B = 11–20…)
- Tickets purchased → zone assigned at purchase based on seat/section
- Gate operator opens KritFit gate app → selects "I am Gate A" → downloads only Gate A tickets to device (IDB)
- Doors open — scan or type XXXX-XXXX code offline against local list
- Used status marked locally; queued for server sync
- Event ends → back online → sync flushes → server records final state → flags anomalies
🔗 Universal Code Integration
Tickets use the same XXXX-XXXX format as all other KritFit codes.
The HAVE A CODE? entry is the single entry point for every code type.
A ticket code resolves via the universal kf_codes collection — same
lookup as kids install, guardian connect, and senior connect codes.
| Field | Value |
| type | 'ticket' |
| targetUid | eventId |
| gateZone | 'A' | 'B' | 'C' | null (null = single-gate event) |
| maxUses | 1 |
| attendeeName | string |
| seatSection | string | null |
| purchasedAt | timestamp |
| active | true |
events/{eventId}/gates/{gateId}
label: 'Gate A' · zone: 'A' · sections: ['1','2',...] · operatorUid: uid
💳 Pricing Model
$1.23
per event (organiser subscription)
$0.12
per ticket sold (platform fee)
Ticket buyer revenue flows through Stripe Connect (same infrastructure as professional billing).
Organiser receives their amount minus $0.12/ticket + Stripe fees. KritFit earns on volume.
📶 Online vs Offline — Two Modes, One System
Most professional ticketing systems (Ticketmaster, Eventbrite) require online
interconnected scanners with a live shared state. They work at stadiums with
reliable infrastructure — and fail completely at community events, outdoor
festivals, rural venues, and school plays where network is spotty or absent.
📡 WHEN ONLINE
- Live real-time validation against server
- All gates see used status instantly
- Same ticket at two gates → caught immediately
- No zone assignment required
📵 WHEN OFFLINE (grey zone)
- Pre-downloaded ticket list (IDB)
- Gate A holds Gate A tickets only
- Physical funnel = the deduplication
- Sync when connection restored
The gate app detects connectivity and switches modes automatically.
Online mode is always preferred. Offline mode activates when network is
unavailable — gate operator is notified and zone assignment kicks in.
This makes KritFit viable for events that existing systems cannot serve.
💺 Reserved Seating — Rows & Seats per Zone
Organisers can define a seating plan per zone. The system generates every seat
combination. Each ticket maps to one specific seat stored in kf_codes.metadata.
When the usher scans the QR code the device shows the seat — fully offline.
Organiser sets: Zone A = 4 rows × 8 seats → rows A–D, seats 1–8 → 32 tickets
kf_codes/{XXXX-WXYZ}.metadata = { zone:'A', row:'B', seat:4, label:'Zone A / Row B / Seat 4' }
Usher scans → Zone A / Row B / Seat 4 — Christopher Richardson ✓
ZONE-ONLY (general admission)
No row/seat. Just gate zone. Standing events, festivals, GA sections. metadata has zone only.
RESERVED (theatre / stadium)
Organiser defines rows × seats. metadata holds zone + row + seat. Gate device shows full seat assignment.
Seat assignment options (build order):
1. Auto-assign — next available seat in zone, sequential. No UI needed. MVP.
2. Best available — front-to-back, groups kept together. Algorithm only.
3. Buyer picks seat — interactive map, real-time availability. Phase 2.
Dual benefit of zone + seat: fraud prevention AND seating plan management in one
structure. Organisations currently pay separate event software for this — KritFit gets it for free
because zone assignment was already required for offline gate operation.
🎫 Ticket Page — Boarding Pass UX & Organiser Analytics
Every ticket has a dedicated display page — the same boarding pass model airlines use.
The buyer gets a QR code they can screenshot, download as PDF, or add to Apple/Google Wallet.
Every open is tracked. The organiser sees pre-event engagement per ticket.
BUYER HAS KRITFIT ACCOUNT
Ticket lives in their portal under TICKETS. QR, seat info, download button — already on device if they have the PWA.
BUYER HAS NO ACCOUNT
Public URL: kritfit.com/t/XXXX-WXYZ — no auth required. Soft nudge: "Manage all your tickets — download KritFit." Acquisition funnel.
ORGANISER ANALYTICS — PER EVENT
Per-ticket signals: viewed, downloaded, last opened, device type, gate scanned (arrived).
"Not yet opened" list is actionable — organiser can trigger a reminder to those buyers.
Apple Wallet / Google Wallet (phase 2):
Apple Wallet = server-generated .pkpass file (signed, contains QR, updates automatically server-side).
Google Wallet = JWT-based pass. If the event time changes, every wallet pass updates without the buyer doing anything.
Phase 1: PDF download + screenshot. Phase 2: Add to Wallet button.
Why the public URL matters: every non-KritFit buyer opens a clean, well-designed
page on their phone. The organiser brought them there. KritFit just has to not blow the moment.
📶 Why Venue Internet Fails — Two Distinct Failure Modes
Network failure at events is not one problem — it is two. Understanding which one you are
solving determines the correct architecture.
MODE 1 — CONGESTION
Thousands of smartphones in a small area simultaneously. Mobile data is a shared resource —
bandwidth collapses at exactly the moment gates need it most. Full cell coverage, zero usable bandwidth.
Happens in cities at large outdoor events.
MODE 2 — REMOTE VENUE
Music festivals in fields, rural sporting events, outdoor venues far from cell towers.
No data regardless of crowd size. SMS signal may exist when data does not — SMS uses
the signalling plane, not the data plane.
The gate/zone model solves both failure modes identically.
Pre-download before doors open. Run locally. Sync when possible. The architecture does not
need to know which failure mode caused the outage — it handles both the same way.
SMS as a middle tier (theoretical, not recommended for MVP):
SMS historically outlasted data in developing countries and rural areas — and could push through
congested networks because it uses the signalling channel. In principle gates could broadcast
"ticket XXXX used" via SMS to remove it from other devices. In practice: PWAs cannot send SMS
silently (requires Twilio with data, or native SMS compose which is manual); SMS delivery
order is not guaranteed; and if SMS is available, internet usually is too — the physical gate/zone
model covers the true dead-zone case without any SMS dependency.
Research captured May 2026. No ticketing code has been written. Build after universal kf_codes system is in place.