KRITFIT

Admin Console

Financial
Analytics
Map
News
Blog
Budget & Costs
Security
Email
Users
Subscribers
Store
Affiliates
Points
Research
Assets
Forecasting
Schema
Changelog
🧪 Testing
MRR
Loading…
Active Subscribers
Across all tiers
Connect Commissions
2% platform fee (MTD)
Subscription Tiers
Tier Mo / Yr Active Trialing Past Due Canceled MRR
Loading…
Gym Connect Accounts
GymStripe AccountStatus
Loading…
Affiliates
PartnerClicksRevenueStatus
DNA TestingPlanned
InstacartPlanned
KritFit StorePlanned
Cost Model rates × active subscribers · advertising & administration set in Forecasting → Monte Carlo
INFRASTRUCTURE $ per active user / mo

Advertising and Administration ranges are set in
Forecasting → Monte Carlo as Low/High values.
The projection uses their midpoints.

PROJECTION @ current subscribers
Load the Financial tab to populate…
WHO
SUB
Ready — click Refresh to load
Loading map…
Total Users
Active Subscriptions
active + trialing
Gyms Connected
Past Due
payment failed
Canceled
churned accounts
Retention Rate
active ÷ non-trialing
Subscription Tiers
Subscription Status
New Signups — Last 6 Months
Recent Signups
Membership Breakdown
FAMILY FOCUS SENIOR APP
Senior Users
appPath = senior
Family Portal Members
appPath = family
Active Messaging
seniors with inbox activity
FC Plan Breakdown STRIPE LIVE
Family Focus — $2.34/mo · 120 AI calls · 200 messages
Family Focus+ — $5.67/mo · 500 AI calls · 500 messages
Top-Up — $2.00 one-time · +30 AI calls
Recent Family Focus Signups
Publish Fitness News
📰
Fitness News Posts
Loading…
NEW POST
📝
Published
Loading…
Drafts
No drafts
Total Costs (MTD)
$0.00
from manual log
Firebase (MTD)
$0.00
Blaze plan usage
APIs & Stripe (MTD)
$0.00
Google APIs + Stripe fees
Cost Log — Manual Entry
Log costs manually — MTD totals update the tiles above. Google Cloud Billing API integration is planned.
DateDescriptionCategoryAmount
No entries yet
Auth Failures (24h)
Failed sign-in attempts
Active Users (now)
Firestore connections
Storage Used
Firebase Storage
Security Log
Firebase Auth audit integration planned. Monitoring for failed logins, unusual access patterns, and rule violations.
🔒No alerts
Firestore Rules Status
📋Rule checker coming soon
FLAGS Debug Panel — Bulk Control

The FLAGS debug panel is hidden from users whose debugAccess is false in user_registry. Use this to disable it for everyone at once, then re-enable selectively via the user drawer.

Incoming Messages
Loading…
Total Users
All registered accounts
Gym Members
Linked to a gym
Trainers
Active trainer accounts
Search & Filter
Results
Email Name Handle Tier Status Membership Joined
Loading…
?
Portal Subscribers

Users with active portal subscriptions (Trainer, Nutritionist, Therapist, Sports tiers). Basic and Advanced app-only subscribers are excluded. Click any row to open the user drawer.

Platform Features app_config/features

Feature flags read by the KritFit app on every load. Changes take effect for all users within seconds — no code deploy needed.

Points System
Earn rules, points balance, and redemption at checkout. Requires Store — points need somewhere to be spent. Turning off Points also disables Referral rewards.
Loading
Store
In-app fitness product store. Master toggle — the store can operate without points, but points require the store. Turning off Store also disables Points and Referral rewards.
Loading
Referral Rewards
Points awarded when a referred user signs up via ?ref=HANDLE. Share button appears in-app regardless — this flag controls whether referrers earn points.
Loading
Gift Subscriptions
One-time Stripe charge generates a claim code the gifter shares with a friend. ⚠ Requires Stripe billing — keep disabled until checkout is live.
Loading
Platform Store Products
Name Brand Cat Price Badge Delivery Pts Max
Loading…
Instacart Loading…

Controls the 🛒 Instacart delivery card that appears in the nutrition food search. When disabled, the card is hidden for all users.

When you join the Instacart affiliate program (via Impact.com), they give you a unique tracking link. Paste the full link here — the food search term will be appended to the end automatically. Leave blank to use the standard Instacart link with no affiliate tracking.

Affiliate Partners

Manage affiliate programs and commission relationships. Each partner can be linked to products in the Store.

Partner Category Commission Status Link
Loading…
Total Points Issued
Across all users · coming soon
Total Points Redeemed
Used against orders · coming soon
Points Liability
Unredeemed cash value · coming soon
Point Value

The cash value of a single point used at checkout. e.g. at $0.05 per point, 100 points = $5.00 off an order.

$ per point
QUICK REFERENCE
Earn Rules 1 log · 1 item · per day

Points awarded each time a user logs one of the activity types below. Capped at one qualifying entry per unique item per day to prevent farming. Actual award depends on supplier agreements — adjust values when those are confirmed.

Log Type Points Awarded $ Value
Visibility Rules
✓ SHOWN TO
  • All KritFit personal subscribers (User, Trainer)
  • Users who have a personal subscription and are also linked to a gym — when they switch to their personal view
✗ HIDDEN FROM
  • Gym-only members while in Gym view
  • Users with no active KritFit personal subscription
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.

SupplierNotes
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.

SupplierNotes
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.

Inventory required
None
Min. order qty
1
Next step
Wire Printful API to Store orders
Crop and save individual images for use in the app. Position the green box over the correct region and click Save Crop. Saved images are stored in Firebase Storage and loaded directly by the app.
Stretch Images 4 sprite sheets · 31 individual crops

Each stretch shares a sprite sheet (2 columns × 4 rows). Select a stretch from the list, position the green crop box over its cell, then save. Completed crops are stored at assets/stretch/{name}.jpg in Firebase Storage.

← Select a stretch, then upload its sprite sheet
No image loaded
Box size — px
Click or drag the image to position the box
Test Data Seed 30 users · 4 gyms · store items · sales · news

Populates Firestore with realistic fake data for portal testing — multiple subscription tiers, gyms with their own member groups, store items, and sales. All records are tagged _testSeed:true and tracked for clean removal.

Monte Carlo Business Forecast random samples within ranges · animated single path or 50× fan chart
GENERAL
GROWTH DRIVERS
LOW HIGH Ad % of Revenue Max Ad Spend $/mo Organic Reach /mo Viral %/mo Churn %/mo Competition × Economy × Awareness Peak ×
SUBSCRIBER MIX % of new signups each month
LOW % HIGH % Gym $89/mo Trainer $5.67/mo Family $5.67/mo User $2.34/mo All four tiers are normalized to 100% after sampling
VARIABLE COSTS $/mo ranges
LOW HIGH Administration
Advertising = % of prior-month MRR (set above ↑), capped at maximum
Per-user rates (Firebase, AI, Storage, Braze) set in Financial → Cost Model
PRICING REFERENCE
Veteran      $1.00 / mo    Trainer        $5.67 / mo
User         $2.34 / mo    Family Focus   $5.67 / mo
Gym (flat)   $89.00 / mo
Configure parameters and click Run or Monte Carlo 50×
Saved Forecast Sessions stored in browser · recall parameters, export to PDF, or delete
No saved sessions yet. Run a simulation and click Save Session.

Live Firestore Schema

Click Run to read live Firestore field data

Reads up to 50 docs per collection and unions all field names found. Use this to verify SCHEMA.md is accurate and to catch ghost fields or undocumented fields before they cause bugs.

Admin Changelog

🧪 Test Console

Live Firestore state for all @kritfit.com test accounts. Accounts showing NEEDS SIGN-IN have not yet visited kritfit.com.