Inside CSC+.
The full build.
A coaching practice partnered with a licensed clinical group for prescription peptide therapy — with no platform tying them together. I built the marketing site, the member app, and the coach surface. One codebase. Twenty-three tables. Live in production.

Same practice. A completely different way to operate.
- —Inbound went to email; nothing routed or tracked
- —Programs lived in spreadsheets and DMs
- —No client app — no workouts, check-ins, messaging
- —Intakes tracked by hand; peptide orders too
- —Partnership existed; no system connected it
- —Compliance language scattered across docs
- —No scheduling, no payment flow
- +Structured intakes captured straight to the database
- +Member app — workouts, nutrition, check-ins, messaging
- +Coach app — roster, dashboard, intakes, orders
- +Role-aware boundary enforces who sees what
- +Branded scheduling embedded inline
- +Compliance consolidated; single source of truth
- +Forms double-write for redundancy
From zero to live, end to end.
One operator, one codebase, eleven weeks. No agency, no platform stitched from off-the-shelf parts — every screen and every table designed for this business.
Design + schema
Stakeholder interviews, role model, full schema with row-level security, brand system, design tokens.
— FOUNDATIONMarketing site
17 surfaces — home, coaching, peptide library, intake flows, scheduling, legal, journal.
— ACQUISITIONMember + coach apps
Training, nutrition, check-ins, messaging, coach dashboard, intakes pipeline, orders, reviews.
— OPERATING SYSTEMPolish + ship
QA, copy pass, image work, deploy, domain cutover. Live on campanaroplus.com.
— PRODUCTIONPerformance, prescribed.
Seventeen marketing surfaces — home, coaching, how-it-works, peptide library, waitlist, contact, FAQ, journal, book a call, legal, audience splits. All locked to the same brand system.





One operator. Two surfaces.
The same auth entry routes a client to their training app and a coach to the operating console. A role-aware boundary enforces who sees what, scoped per coach.
— TODAY · PUSH A
Bench, OHP, dips.
~58 min · Tempo focus on the bench. Hit the press hard.
- Barbell bench press4 × 6185 lbRPE 7
- Standing OHP4 × 8115 lbRPE 8
- Weighted dip3 × 10BW + 25RPE 8
- DB lateral raise3 × 1220 lbRPE 7
Got it. Appetite low — protein hit 140g vs target 200.
Sleep was light midweek. Strength still good.
Skin clearer this week. Energy way up.
Three back-to-back deep-work blocks today.
— THIS WEEK
— REVIEWS DONE
— NEEDS REVIEW · 05
- 2D OVERDUEM. Reyes— CUT · WK 08
- 1DJ. Walton— BUILD · WK 05
- TODAYS. Davis— GLOW · WK 03
- TODAYE. Kovac— ELITE · WK 04
- TODAYD. King— RECOVER · WK 02
A business that runs.
Not features for their own sake. What the platform lets the practice actually do, on day one.
— FOR THE OWNER
- Take inbound from a structured intake, routed by stage
- Run an active roster from a single screen
- Place and track peptide orders to delivery
- Brand site that converts without ad spend
- Compliance language consolidated in one source
— FOR THE CLIENT
- Train from a coach-assigned plan on their phone
- Log workouts with RPE + set-by-set tracking
- Weekly check-ins with form-video uploads
- Message the coach in-app — no Slack, no SMS
- See body composition + strength trend over weeks
— FOR THE COACH
- Per-coach scoped roster, no cross-talk
- Weekly review queue surfaces overdue clients
- Intake pipeline with stage progression
- Live inbox, per-thread unread state
- Exercise + meal + workout libraries to compose from
Foundations that scale.
The platform isn’t a feature list — it’s a load-bearing foundation. What it can absorb without rewrites:
Multi-coach roster, at any scale
The codebase scopes per-coach by default. Add coach #2, coach #50 — no schema changes, no migrations.
A second clinical partner
Intake routing is partner-aware. Add another licensed prescriber, route inbound by state or specialty.
Real-time, on every surface
Messaging, presence, intake stage progression, order status — the data layer already streams. The UI just listens.
AI-drafted coach replies
Model-agnostic interface, drafts pulled from each client’s logged history. Swap providers without touching the app.
Push notifications, ready to flip
Wired in at the data layer. Toggle on — clients get pings on new assignments, coaches get pings on reviews due.
Subscription + per-cycle billing
Payment state lives next to the client record. Subscription tier, last paid, dunning state — already modeled.
Direct partner-clinic handshake
Replace the manual intake forward with a programmatic write into the partner’s portal. Endpoint already mapped.
Composable coach toolkit
Workout templates, meal plans, exercise + peptide libraries — coaches compose new protocols without engineering.
The website was the door. The platform is what’s behind it.
The founder can onboard clients through a flow he controls. The coach can manage an active roster from one screen. Every inbound lead lands in the database the moment a visitor hits submit. Orders to the compounding pharmacy are tracked from placed to delivered, with full state history.
The compliance disclaimers, the peptide library, the intake form, the check-in cadence — every regulated and recurring piece of the business — lives in one codebase he can ship to in minutes.
Not a website with a CRM bolted on. A business built as software.
— Build notes / Greg Baehr— Next, on demand
— Want this for your business