A single operating system that replaces the disconnected tools PLF runs on today. Not a concept or a roadmap — working software, most of it already running in production for other coaching businesses on the same platform.
Every section in this guide follows the same structure: what the current tool does, where it falls short, what the replacement looks like, and — critically — proof. Where something is live, there is a button to see it running in production. Where something is spec'd but not yet built, we show the working pattern it is based on and the real timeline. Where something is planned, we say so. No claim sits without a status label.
This guide is structured for a conversation, not a pitch. It is meant to walk through one section at a time so every question can be addressed before moving on.
PLF currently runs on 15-20+ separate tools. Each one does its job. None of them talk to each other. The real cost is not the subscription bills — it is the staff time spent moving data between systems, the decisions made without full context, and the integrations that quietly break.
PLF OS consolidates these into one system. Support, marketing, courses, community, dashboards, project management, AI assistance, and member experience — all in one platform, configured (not coded) for how PLF works.
Jeff's target: $1–2M revenue, $300–500K profit, on top of Jeff/Dan/Joan salaries. The current trajectory — $4M declining revenue with roughly $100K/month in losses — is not sustainable. PLF OS is sized for the business Jeff wants, not the overhead he is carrying.
Jeff has decided: no more annual mega-launches. The last launch booked $1.3M, grossed $390K, netted roughly $200K after team costs, and took months to produce. The return does not justify the effort at current overhead.
The new model is lighter: paid workshops ($100) that convert to coaching tiers ($5–12K delivered by coaches, not full-time staff) plus a premium tier with direct Jeff and Dan access. The PLF course product is going away this year (final offering July–October, price rising to $5K).
PLF OS is built for this lighter model. Simple content delivery (as simple as posting a video in the app), coaching progress tracking, member engagement scoring, and a community that serves both active coaching clients and alumni. Not a launch machine — a coaching operating system.
Jeff wants to go from ~30 people to 6–9 humans plus AI agents. The humans he plans to retain:
| Person | Role | Why retained |
|---|---|---|
| Joan | COO | "All in." Wants life to serve her, not business to serve her life. Runs ops. |
| Dan | Co-visionary | Wants to DO implementation — write the email, load the content — not manage people who do it. Works in seasons. |
| Snehal | Engineer | Trained engineer, great tech skills, not expensive. Joan identified as key retain. Could be internal PLF OS admin. |
| Joy | Customer service | Philippines-based, $1,200/month, 14-year tenure. Knows PLF members deeply. |
| Julie | Head of coaching | Resource for coaching continuity. Completely in Jeff's corner. |
PLF OS eliminates the single-point tech dependency Jeff currently has. No one person can "shut us down with a few keystrokes." The platform runs on shared infrastructure across 8+ businesses, not a single developer's laptop.
Dan's work rhythm: Dan works in seasons — push hard, then take two weeks off. If it storms, skip work and enjoy the snow. PLF OS supports this because the system runs while humans are away. Agents handle routine work, automations keep content flowing, and the dashboard shows what happened while you were gone.
| # | Section | Replaces | Status | Key question |
|---|---|---|---|---|
| 03 | Support | Kayako | live | Ready to replace Kayako now? |
| 04 | Email & CRM | Keap / Infusionsoft | spec'd | Mailgun for delivery, GHL as CRM bridge? |
| 05 | Courses & LMS | Mighty Networks | built | Course data already ingested from Kajabi |
| 06 | Community | Mighty Networks | built | Feature parity vs engagement depth |
| 07 | Project Mgmt | Asana | built | Agent-managed tasks vs human-only boards |
| 08 | Dashboard | (new capability) | built | Custom views for Jeff, Dan, Joan, Mary |
| 09 | Agent Factory | (new capability) | live | How AI agents reduce headcount needs |
| 10 | AI / KBASE | Launchy.ai (partial) | live | Knowledge that learns vs static chatbot |
| 11 | Member App | Mighty Networks | built | Daily plan, courses, community in one app |
| 12 | QB Desktop | (integration) | spec'd | Read-only nightly backup for Mary |
The real cost of a tool stack is not the subscription fees. It is the staff time holding it together, the data that does not sync, and the decisions made without full context.
| Current Tool | Est. Annual Cost | Replaced By | Status | Section |
|---|---|---|---|---|
| Keap / Infusionsoft | $18-30K+ | Mailgun + KLH Workflows + GHL | spec'd | § 04 |
| Kayako | $6-12K+ | Support Workbench | live | § 03 |
| Mighty Networks | $2-5K+ | LMS Engine + ConnectScreen | built | § 05-06 |
| Asana | $4-9K | KANDOFF Workbench | built | § 07 |
| QuickBooks Desktop | keep | QODBC nightly backup + dashboard | spec'd | § 12 |
| Google Docs | keep | Drive Picker integration (keep, don't replace) | built | — |
| Calendly / Acuity | $2-5K+ | Shared Calendar Component | planned | § 23 |
| ClickFunnels / Landing Pages | $1-3K+ | Form Capture + Any Page Builder | spec'd | § 22 |
| SamCart / Payments | $1-3K+ | Commerce Engine (Stripe) | spec'd | § 21 |
| Estimated total savings | $31-60K+/yr | Replaced by PLF OS (included) | ||
live in production 91 files, 10,238 lines of code, 5,502 lines of CSS. Running live tickets for other businesses on this platform today.
| Area | Kayako | Support Workbench | Verdict |
|---|---|---|---|
| Reporting | "Unusable" — cannot customize | Plotly dashboards, custom KPI cards with trend sparklines, fully configurable | We win |
| Knowledge Base | Basic, no SEO, no analytics | KBASE: RAG + knowledge graph, multi-tenant, semantic search | We win |
| AI Drafting | Single model, $1/ticket, 2-week ramp | Multi-model, grounded in KBASE (knows the business), no per-ticket cost | We win |
| Channels | Web, email, social (limited) | 10 channels (web, email, SMS, Telegram, chat, WhatsApp, FB, IG, X, call). 6 send-enabled. | We win |
| Ticketing | Core product, solid | Full CRUD, bulk actions, multi-project aggregation, collision detection | Even |
| Canned Responses | Templates exist | Full editor (507 lines), variable substitution, categories, inline modal | Even |
| Chat Widget | Embeddable widget built-in | Backend exists (edge function). Frontend embed: 2-3 day build | Gap (small) |
| SLA Engine | Basic SLA policies | Metrics in dashboard. Policy rules engine: 2-3 day build | Gap (small) |
Question for Joan: Which Kayako version? *.kayako.com = Cloud (JSON API), self-hosted = Classic (XML API).
spec'd Architecture defined. Visual workflow builder built (ReactFlow canvas, 7 node types). Email delivery via Mailgun. GHL handles CRM as bridge. Estimated savings: $13-23K+/year.
Dan writes the email in the composer. He picks a segment — Workshop registrants, All members, Evergreen leads, Lapsed. He clicks send. Done. No routing through 6 people, no 2-week planning cycle, no waiting for someone else to load it into Keap.
The AI assists — "Draft in my voice," "Tighten this," "Subject ideas" — are tools for Dan, not gatekeepers. He can use them or skip them. The point is: the person with something to say can say it directly, the same day they think of it.
| Area | Keap | PLF OS Stack | Verdict |
|---|---|---|---|
| Email Delivery | Shared IPs, 5%+ bounce rates, blacklists, forced tracked-link domains | Mailgun: dedicated IPs, DKIM/SPF/DMARC, reputation analytics. Jeff controls his own sender reputation. | We win |
| Automation | Gutted "Easy Automations" — oversimplified, limited branching | ReactFlow visual canvas, 7 node types, n8n execution engine, AI-powered decision triggers via KBASE | We win |
| Analytics | "Limited customization", no modern dashboards | Plotly dashboards, custom KPI cards, sparklines. Mailgun analytics for opens/clicks/bounces. | We win |
| AI / Intelligence | Zero AI capabilities | Multi-model AI, KBASE-grounded, 35+ agents, workflow AI triggers | We win |
| Pricing | Opaque, forced calls, auto-upgrades, cancellation hell | Known costs. Mailgun ~$80-200/mo, GHL $297/mo flat. No lock-in. | We win |
| Data Ownership | Trapped in Keap, cancellation blocked | Client's own Supabase + Mailgun account. Full ownership, full export. | We win |
| CRM at Scale | Contact records for 100K+, proven tag system | GHL as bridge (unlimited contacts on Agency plan). Native CRM in 90-day roadmap. | Gap (bridged) |
| Email Compose UI | Editor exists (outdated, no undo, buggy) | Compose UI designed in proposal mockup. Build: 1-2 weeks. | Gap (designed) |
| Tag Management | Industry-leading tag-based segmentation | Tags in workflows + GHL. Dedicated tag UI: 1-2 week build. | Gap (bridged) |
| Keap Function | Day 1 (GHL + Mailgun) | 90-Day (PLF OS Native) | Status |
|---|---|---|---|
| Email delivery | Mailgun (permanent) | Mailgun (permanent) | spec'd |
| CRM / contacts | GHL bridge ($297/mo) — social, pages, CRM | Native CRM with KBASE intelligence | spec'd |
| Marketing automation | KLH_workflows + n8n | Enhanced with AI triggers, KBASE decisions | built |
| SMS | Twilio via n8n (~$0.008/msg) | Same | spec'd |
| Social media | GHL (social + landing pages only) | Same | built |
| Payments | Stripe (standard 2.9%) | Stripe commerce engine | spec'd |
| Item | Keap (Current) | PLF OS Stack | Savings |
|---|---|---|---|
| Platform | $1,500-2,500+/mo | Included in PLF OS | $18-30K+/yr |
| Email delivery | Included (terrible) | ~$80-200/mo | Better AND cheaper |
| CRM | Included | ~$297/mo (GHL) | Covers CRM + social + landing pages |
| SMS | $24-279/mo add-on | ~$0.008/msg | Pay for what you use |
| Meta ad agency | $12K/mo retainer | Not needed — Margo agent + dashboards | $144K/yr |
| Total | $162-174K+/yr | ~$5-7K/yr | $157-167K+ saved |
built The PLF course product is winding down (July-Oct). The future is coaching tiers: $5-12K delivered by coaches, plus a premium tier with Jeff and Dan. The content engine supports both — sophisticated tracking for coaching programs and dead-simple delivery for quick offers. Replaces Mighty Networks (renewed through June 2027 — coexist, then sunset).
Jeff is ending the PLF course product (July-Oct window, price raised to $5K as "last chance"). The last major launch did $1.3M booked, $390K gross, ~$200K net after team costs — months to produce. Not worth repeating. The new model is:
The content engine needs to support both ends: dead-simple delivery (Jeff's example: someone selling 45-min YouTube videos as $300 courses — "simple as it can be") and sophisticated coaching program tracking with progress, assessments, and milestones.
| Area | Mighty Networks | LMS Engine | Verdict |
|---|---|---|---|
| Course Builder | Sections + lessons, video, text, downloads | Courses as entities with modules, lessons, speakers, bundles, categories. Richer data model. | We win |
| Content Delivery | Basic video embed | Vimeo embed + 60s heartbeat + engagement scoring + tab-away detection | We win |
| Assessments | Basic quizzes, binary completion | Full assessment engine (KLH_assessments + responses tables), pass thresholds, graded assignments | We win |
| Certificates | Missing — requires Zapier workaround | Accredible integration specced in reusable layer | We win |
| Completion Tracking | Basic | Two-tier heartbeat (raw analytics + summarized threads), per-minute CPD tracking | We win |
| Learner Dashboard | None | KPI cards + heatmap + category breakdown + achievements (badges at 10/20/30/50+ hrs) | We win |
| Drip Scheduling | Basic drip | Specced (S7.7), not yet built. Pattern exists. | Even when built |
| Commerce | Stripe only, + 0.5-2% tx fee | Stripe (standard 2.9% only), course + speaker bundles, firm licenses | We win |
| Component | Location | Status |
|---|---|---|
| PLF CoursesScreen | src/apps/plf/src/screens/ | built Module/lesson accordion, completion toggle, live Kajabi data |
| Shared LMS components | src/apps/shared/lms/ | built 962 TS + 1,052 CSS lines |
| CPDStore tenant engine | src/apps/cpdstore/src/ | built IE/UK dual-region, deployed |
| Assessment tables | Supabase (PLF project) | built KLH_assessments + responses |
| HTML prototypes | docs/plans/OmniOS/CPDstore/ | built 8 screens (player, catalog, dashboard, admin) |
| Vimeo heartbeat tracking | LMS spec S7.7 | spec'd Specced, pattern from CPDStore |
| Certificate engine | LMS spec S10.2 | spec'd Accredible integration |
Mighty Networks just renewed (June 2026) — that money is spent. No need to rush members off the platform. The plan:
built ConnectScreen is a shared component running in production across multiple apps (BLE, JULIE, Paradigm). Activity feeds, chat, and community features. PLF gets the same engine with PLF branding.
| Area | Mighty Networks | PLF OS Community | Verdict |
|---|---|---|---|
| Spaces / Groups | Spaces with feed + chat, subgroups | ConnectScreen (shared component), activity feeds, chat | Even |
| Member Profiles | Profiles, interest matching, AI matchmaking | KLH_user_profiles, member directory | MN slightly ahead (AI matching) |
| Activity Feeds | Real-time feed per space | Activity feeds in ConnectScreen | Even |
| DMs / Chat | DMs + group chat | Chat via shared components | Even |
| Polls / Reactions | Built-in | Not built yet. Pattern exists from BLE KLH_assessments. Short build. | Gap (short build) |
| Events Calendar | Native, with streaming | KLH_events table, calendar in TodayScreen | Even |
| Mobile App | Native iOS/Android (branded app = Pro only at custom pricing) | PWA (works on all tiers, no app store, instant deploy) | Trade-off |
| Moderation | Manual only — no spam detection, no auto-flagging | Not built yet | Both weak |
| Custom Branding | Colors and logos (no custom fonts even on Pro) | Full theme system (5 presets), project-driven branding, custom fonts | We win |
| Data Ownership | Their servers, export unclear | Client's own Supabase project. Full ownership. | We win |
| API Access | Scale+ only (5K req/mo), headless = Pro only | Full Supabase API, no limits | We win |
Mighty Networks is a standalone community platform. Members go to a separate app for community, a separate app for courses, a separate app for support. None of the data connects.
In PLF OS, community lives inside the same app as courses, daily plans, coaching chat, and support. When a member posts in the community, the AI knows what courses they have completed, what their progress looks like, and what they are working on. That context depth is what Mighty Networks cannot match — not because they lack features, but because they are a separate silo.
Jeff currently runs launch-time prospect communities in Facebook groups. He sees putting prospects in the PLF OS app instead — same community engine, different access tier. This means supporting both members (full access) and prospects/launch participants (limited access, onboarding funnel into paid coaching).
The auth system already supports role routing (member/coach/admin). Adding a "prospect" role is configuration, not a rebuild. Prospects see the community, see social proof, get the daily touchpoint — and the system knows exactly who converts and who drops off.
Mighty Networks just renewed for a full year (June 2026). The money is already spent. The plan is coexistence — run both platforms for the year, gradually migrate members as PLF OS community features mature. No rush to kill MN. The year gives time to build polls/reactions, add moderation, and let members discover the new app naturally through coaching and workshops.
| Plan | Monthly | Tx Fee | Key Limitation |
|---|---|---|---|
| Launch | $79 | 2% | No integrations, 3 hosts, 200 GB |
| Scale | $179 | 1% | API limited to 5K req/mo, 5 hosts |
| Growth | $425 | 0.5% | — |
| Mighty Pro | Custom | 0.5% | Custom branded app (only way to get white-label) |
Transaction fees stack on top of Stripe's 2.9% + $0.30. PayPal not supported.
built KANDOFF: 7 active boards, 244 active cards, 2,956 activity entries, 35+ AI agent modules across 5 model vendors. Running in production managing real software development work.
| Area | Asana | KANDOFF | Verdict |
|---|---|---|---|
| AI Agent Integration | Zero — cannot manage AI agents | 35+ agents, multi-vendor, autonomous card progression through pipeline | We win (unique) |
| Factory Automation | Basic if/then rules | Full pipeline orchestration: spec, code, deploy, QA, scout, review — all automated | We win (unique) |
| Context per Task | Tasks are flat text | 6 JSONB context fields per card (runtime, code, data, auth, test, history) | We win (unique) |
| Acceptance Criteria | Subtasks as proxy | Dedicated AC system with pass/fail tracking and verification | We win |
| Activity Audit | Comments + basic history | Full typed activity log (2,956 entries), agent attribution, typed activity entries | We win |
| Card Intelligence | None | CIP pipeline: KBASE patterns, schema proof, code snapshot, prior failures | We win (unique) |
| Task Management | Tasks, boards, assignments, due dates — polished | Cards, boards, assignments, due dates, checklists — functional | Even |
| Drag-and-Drop | Polished native DnD everywhere | Positioning exists, no DnD library yet. dnd-kit integration: 2-3 days. | Gap (small) |
| Calendar View | Built-in task calendar | Due dates exist. Calendar view: 2-3 day build. | Gap (small) |
| Email Notifications | Configurable per-task alerts | Missing. Postmark integration: 2-3 day build. | Gap (small) |
| Non-Technical UX | Mature onboarding, tutorials, template library | Assumes technical literacy. UX reskin for coaches/admin: 2-3 weeks. | Gap (medium) |
KANDOFF is a developer/factory automation tool. The current UI assumes technical literacy. For Jeff's team (content creators, coaches, admin staff), the interface would feel unfamiliar compared to Asana's polished consumer UX.
The features Jeff's team needs (task lists, boards, assignments, activity) are all built. The gap is polish and onboarding, not functionality. Estimated effort for team-friendly UX: 2-3 weeks focused work.
| UX Item Needed | Description | Effort |
|---|---|---|
| "My Tasks" view | Simple filtered view: tasks assigned to me | 1 day |
| Simplified card view | Hide context envelope, CIP, structured_data from non-technical users | 1-2 days |
| Drag-and-drop cards | dnd-kit integration for visual card movement | 2-3 days |
| Email notifications | Notify on assignment, due dates, comments | 2-3 days |
| Calendar view | Tasks by due date in calendar format | 2-3 days |
built PLF Dashboard with 7 tabs, Plotly charts, KPI cards with trend sparklines, AG Grid tables. Same framework already running in production for BLE and Paradigm.
| Tab | Primary User | What It Shows | Status |
|---|---|---|---|
| Executive Summary | Jeff | Top-line KPIs, revenue, member health, launch readiness — one screen, no clicking | built |
| Membership | Joan / Dan | Active members, churn rate, cohort retention, enrollment pipeline | built |
| Engagement | Dan | Course completion rates, community activity, content consumption heatmaps | built |
| Content AI | Dan | AI-assisted content performance, KBASE coverage, knowledge gaps | built |
| Launch Tracker | Jeff / Dan | Launch countdown, milestone checklist, JV Leaderboard for partner performance | built |
| Marketing | Joan | Campaign performance, email deliverability, funnel conversion, ad spend | built |
| Admin | Joan / Mary | System health, user management, configuration, cost tracking | built |
| Component | Detail | Proof |
|---|---|---|
| Charts | Plotly.js — interactive, zoomable, export-ready. Bar, line, donut, sparklines. | Running in BLE + Paradigm dashboards |
| KPI Cards | Value, trend arrow, sparkline, sub-label. Configurable per card. | Same component across all dashboards |
| Data Grids | AG Grid — sort, filter, export CSV. Handles thousands of rows. | Running in Procure + SWB |
| Framework | Same dashboard framework powers BLE, Paradigm, and PLF. Not rebuilt per client. | 3 dashboards live on same codebase |
live in production 21+ AI agents across 5 model vendors. 35 agent modules, 11 edge functions for orchestration. Cards flow through a 7-stage pipeline from idea to deployed code with no human in the loop.
Jeff wants to go from 30 humans to 6-9 humans plus AI agents. The agent factory is how that works. Tasks enter a pipeline as cards. Agents pick them up, write the spec, write the code, review each other's work, run QA, deploy, and move the card to done — autonomously. Humans set direction and approve. Agents execute.
The factory is not a single AI model. It is a fleet of specialized agents, each with a defined role and explicit permissions (CAN / CANNOT), spread across 5 different AI vendors so no single provider outage stops work.
| Team | Agents | What They Do | Vendor |
|---|---|---|---|
| Builders | CodyUX, CodyJS, CodyPG, CodyPy | Write frontend, backend, database, and Python code | Anthropic |
| QA Gate | qa-bob-ux, qa-bob-js, qa-bob-pg, qa-bob-sp | Review code for correctness, security, conventions | Anthropic |
| Adversarial Review | Verena, Verena2, Salus, Verin, Celeritas | Cross-vendor adversarial code and spec review | OpenAI, Google, Mixed |
| Scouts | ScoutGH, ScoutHN, ScoutIN, ScoutRD, ScoutSO, ScoutSS | Research GitHub, HN, Reddit, StackOverflow, competitors, newsletters | Mixed |
| Intelligence | Spec, Advi, Synth, Linty, Aggie | Write specs, query KBASE, synthesize reviews, run static analysis | Anthropic, Zero-LLM |
| Operations | Deployer, Audrey, Herald, Scribe | Deploy to production, audit process compliance, write release notes | Anthropic |
A card moves through 7 stages. At each stage, specific agents are dispatched automatically. No human schedules the work — the pipeline orchestrates it.
| Stage | What Happens | Agents Involved |
|---|---|---|
| BACKLOG | Idea submitted, triaged by priority | Human (Richard / Jeff) |
| READY | Spec written, arena-reviewed by multiple adversarial agents | Spec, Verin, Aris, Kael, Haiku, DeepSeekReview |
| CIP | Card Intelligence Pipeline fills context envelope (schema, code, KBASE patterns, prior failures) | CIP edge function |
| DEV | Code written by specialized builder agents | CodyUX, CodyJS, CodyPG, CodyPy |
| QA | Code reviewed, static analysis, adversarial review, process audit | qa-bob-*, Verena, Verena2, Salus, Linty, Audrey |
| SHIP | Deploy to production, smoke test, release notes | Deployer, Herald |
| DONE | Learnings written to KBASE for future cards | Scribe |
| Vendor | Used For | Why This Vendor |
|---|---|---|
| Anthropic (Claude) | Primary builders, spec, QA, deploy | Best at code generation and long-context reasoning |
| OpenAI (Codex) | Adversarial code review (Verena) | Cross-vendor review catches blind spots a single model misses |
| Adversarial review, arena judging | Third perspective on spec quality | |
| DeepSeek | Security-focused spec review | Strong on auth design and failure mode analysis |
| Zero-LLM | Static analysis (Linty), aggregation (Aggie) | Deterministic tools — no model hallucination risk |
If Anthropic has an outage, adversarial review still runs on OpenAI and Google. If any single vendor raises prices, we shift workload to others. No vendor lock-in.
The real agent names (CodyUX, qa-bob-js, Verena2) are developer shorthand. For Jeff and Dan's team, these need business-friendly labels — "Drafter," "Reviewer," "Operator." This is a config layer, not a rebuild. The Shop Floor blueprint already shows the friendly names; the backend needs a label-mapping config to match. Estimated effort: 1-2 days.
Dan works in seasons — pushes hard, then takes two weeks off. When it storms, he skips work and enjoys the snow. His frustration: “the business sets the pace for the rest of your life.” PLF OS inverts that. The agent factory and automations maintain continuity while humans work at their own rhythm. Email workflows fire on schedule. Support tickets get AI-drafted replies. Content publishes automatically. The business runs while Dan snowboards.
This is not theoretical — the factory already runs overnight and on weekends, processing cards through the pipeline while no human is present. Extending that to Jeff and Dan stepping back for a week or a season is a configuration decision, not a new build.
Dan described a recurring frustration: team members “aren’t thinking about the work they’re creating.” His example — nobody sent the webinar replay to attendees, because sending the replay wasn’t written in a doc. The team followed the checklist literally and missed what was obvious.
Agents operate differently. They evaluate context, not line items. “Does it make sense to send the replay to people who attended?” is a question an agent can reason about. The CIP stage fills each card with schema proof, KBASE patterns, and prior failure history — so every agent acts with full context rather than following a static checklist blindly.
live infrastructure Not a chatbot. A knowledge system that learns from every interaction and powers the entire platform — support drafting, voice agents, semantic search, entity relationships. Multi-tenant: each client gets their own KBASE in their own database.
KBASE combines two AI architectures into one system. RAG (Retrieval Augmented Generation) breaks content into searchable chunks with vector embeddings — when someone asks a question, the system finds the most relevant passages and grounds the AI's answer in real content, not guesses. Knowledge graph maps entities and their relationships — people, concepts, programs, methods — so the AI understands how things connect, not just what they contain.
Together, these mean the AI does not hallucinate generic answers. It draws from the actual IP, knows which concepts relate to which programs, and gets more accurate over time as more content is ingested.
| Component | Purpose | Status |
|---|---|---|
| KLH_kbase_chunks | RAG content — documents broken into searchable passages | live |
| KLH_kbase_embeddings | Vector search via pgvector — semantic similarity, not keyword matching | live |
| KLH_kbase_entities | Knowledge graph nodes — people, concepts, programs, methods | live |
| KLH_kbase_relationships | Graph edges — how entities connect (teaches, requires, extends) | live |
| KLH_kbase_memory | Persistent memory — system learns from interactions over time | live |
| Voice agent (LiveKit) | Voice interaction via VPS — talk to your KBASE by phone | built Needs PLF voice + content |
| Feature | How KBASE powers it | Status |
|---|---|---|
| Support AI drafting | Agent drafts replies grounded in PLF's own knowledge, not generic responses | live |
| Semantic search | Members and staff search by meaning, not keywords — "how do I prep for my first launch" finds the right content | live |
| AI coaching chat | ChatScreen in Member App answers questions using PLF methodology from KBASE | built |
| Voice companion | Talk to your own IP on phone via LiveKit voice agent | built Needs content |
| Agent intelligence | Factory agents consult KBASE before acting — patterns, antipatterns, prior failures | live |
The concept: ingest Jeff's core intellectual property into KBASE — Launch book key concepts, PLF methodology, seed launch framework, YouTube transcripts, podcast episodes. The result is a voice agent that members can talk to on their phone and get answers grounded in Jeff's actual teaching, not generic AI.
25+ PLF scripts already built for API fetch, video ingest (Kaltura/Wistia), transcription, survey data, and graph extraction.
Jeff already has an AI product called Launchy.ai with paid subscribers (PLF owners get it for a year, others pay monthly). In his own words: "We could easily create something that could deliver Launchy-like results and surpass it." Jeff is already ahead of us on this — he sees KBASE as a superset of Launchy, not a competitor.
Before the meeting, we need to understand Launchy's current scope — not to see if we can compete (Jeff already believes we can), but to understand what to incorporate. Any features Launchy users rely on should be accounted for in KBASE so the transition is seamless.
built (80%) PWA with 6 tabs, Supabase auth with role routing (member/coach/admin), onboarding flow, and AI coaching chat. Runs on any phone — no app store, no install delay, no Apple review.
This is the daily touchpoint — the app Jeff's members open on their phone each morning. It replaces the Mighty Networks app experience but integrates courses, support, community, and AI coaching into a single branded surface. Everything a member needs in one place, with context that follows them across tabs.
| Tab | Screen | What It Does | Status |
|---|---|---|---|
| Today | TodayScreen | Daily plan, tasks, calendar, streak tracking, launch countdown. The first thing members see. | built |
| Courses | CoursesScreen | Module/lesson accordion, completion tracking. Renders live data from kajabi_courses table. | built |
| Journal | JournalScreen | Reflections and wins logging. Members record daily progress and insights. | built |
| Progress | ProgressScreen | Completion charts, milestones, readiness assessment. Visual proof of advancement. | built |
| Chat | ChatScreen | AI coaching chat grounded in KBASE. Knows PLF methodology, not generic advice. | built |
| Me | MeScreen | Profile, settings, password management. Role-based view (member vs coach vs admin). | built |
| Feature | Detail | Status |
|---|---|---|
| Onboarding flow | New member enrollment gate — members complete setup before accessing content | built |
| Community | ConnectScreen shared component — activity feeds, chat, community. Same engine as BLE, JULIE, Paradigm. | built |
| In-app support | HelpPanel — members open support tickets without leaving the app. Ticket history visible. | built |
| Role routing | Supabase auth routes to member, coach, or admin view automatically | built |
| Coach admin view | MembersScreen — coach sees member list, progress, management tools | built |
| PLF program data | Wire TodayScreen with real PLF program content (daily plan, launch phases) | spec'd |
| Concern | Native App | PWA (Our Approach) |
|---|---|---|
| Distribution | App Store review (days-weeks), updates require re-download | Instant deploy, updates arrive automatically on next visit |
| Install | Download from store, account required | Add to Home Screen prompt, or just use the URL |
| Cross-platform | Build twice (iOS + Android) or use React Native | One codebase, runs everywhere including desktop |
| Push notifications | Built-in | Supported (Web Push API, already built in shared PWA layer) |
| Offline | Built-in | Service worker + persist storage (built in shared PWA layer) |
spec'd QB Desktop stays. We connect to a read-only nightly backup copy on a VPS. Mary's live system is never touched. Dashboard shows T-1 day financial data — still better than manual reports.
Jeff's team uses QuickBooks Desktop, not QuickBooks Online. This is a critical distinction — QB Desktop does not have a cloud API. Integration requires a different approach than a standard REST API call. Mary manages the books and any solution must prioritize her comfort.
| Component | Solution | Detail |
|---|---|---|
| Connector | QODBC driver | Same driver used in the HKM project — proven and working in production |
| Data flow | Nightly backup to VPS | Automated nightly copy of QB data file to VPS. Mary never has to do anything. |
| Data freshness | T-1 day | Dashboard shows last night's data. Still better than what they have now (manual reports). |
| Dashboard | PLF OS financial dashboard | Plotly charts, KPI cards — same pattern as other dashboards in the platform. |
| Access model | Read-only | The VPS copy is read-only. We never write to QB. We never touch the live file. |
Honest inventory of every component. No inflated claims. LIVE means running in production and demoable now. BUILT means code-complete but may need PLF-specific config or data. DESIGNED means specced with a proven pattern elsewhere. PLANNED means roadmapped with no code yet.
| Feature | Status | Evidence |
|---|---|---|
| Support Workbench | live | 91 files, 10,238 lines code, 5,502 lines CSS. Handling live tickets for other businesses today. 10 channels, 6 send-enabled, AI drafting, Plotly dashboards. |
| KBASE Infrastructure | live | RAG + knowledge graph, multi-tenant. pgvector embeddings, entity extraction, semantic search. Powers AI drafting and voice agents. |
| Agent Factory | live | 21+ agents across 5 model vendors (Anthropic, OpenAI, Google, DeepSeek, Zero-LLM). 35+ agent modules. Autonomous card progression through pipeline. |
| Shell v2 Theme System | live | 5 color presets, project-driven branding, split light/dark mode. PLF midnight navy + orange accent deployed. |
| Shop Floor Blueprint | live | 1,126-line interactive HTML. 8 stations, agent fleet view, clickable drawers. Jeff saw this and said "it's the dream." |
| Feature | Status | Evidence |
|---|---|---|
| PLF Dashboard | built | 7 tabs (Executive Summary, Membership, Engagement, ContentAI, LaunchTracker, Marketing, Admin). KPI cards, Plotly charts. Needs real/realistic PLF data populated. |
| Member App | built | 6 tabs (Today, Courses, Journal, Progress, Chat, Me). Auth, role routing, onboarding gate, help panel. Calls live RPCs. ~80% complete — needs PLF program data wired to TodayScreen. |
| LMS Engine | built | CPDStore spec (904 lines, arena-reviewed). CoursesScreen renders live Kajabi data. Shared components: 962 TS + 1,052 CSS lines. 8 HTML prototypes. |
| ConnectScreen Community | built | Shared component running in BLE, JULIE, Paradigm apps. Activity feeds, chat, community features. Reusable across all deployments. |
| KANDOFF PM | built | 7 boards, 244 active cards, 2,956 activity entries. 39 UI files (5,959 lines), 19 RPCs, 11 edge functions. Managing real work in production. |
| Visual Workflow Builder | built | ReactFlow canvas with drag-drop, undo/redo, snap-to-grid, MiniMap. 7 node types. n8n serializer (226 lines) for execution. |
| GHL Integration | built | 5 edge functions, bidirectional (read contacts/tags/workflows + push to GHL). Built for JULIE, reusable for PLF. Shawn manages GHL side. |
| Canned Responses | built | Full CRUD editor (507 lines), variable substitution ({{ticket_number}}, {{customer_name}}), category grouping, inline modal. Stored as JSONB. |
| Feature | Status | Evidence | Timeline |
|---|---|---|---|
| Mailgun Email Delivery | spec'd | Architecture defined. Dedicated IPs, DKIM/SPF/DMARC. Replaces Keap shared-IP deliverability. | 1-2 weeks to wire |
| Email Compose UI | spec'd | Full mockup exists in proposal concepts. Rich compose, AI assists, segment picker, workflow chaining. | 1-2 weeks |
| QB Desktop Integration | spec'd | QODBC nightly backup approach. Exact same pattern running in production for HKM project. | 3-5 days |
| Certificate Engine | spec'd | Accredible integration specced in LMS spec S10.2. Reusable across all coaching OS deployments. | 3-5 days |
| Vimeo Heartbeat Tracking | spec'd | Specced in LMS S7.7. 60s interval + tab-away detection + engagement scoring. | 3-5 days |
| KANDOFF Non-Tech UX | spec'd | My Tasks view, simplified cards, DnD, email alerts, calendar view. All functional — gap is polish for non-technical users. | 2-3 weeks |
| Launch Console | spec'd | LaunchTracker + JVLeaderboard components built. PLC sequence engine, cart timing, JV payout tracking designed. | 2-4 weeks |
| Form Capture (Funnels) | spec'd | Page-builder-agnostic endpoint. K-622. Any page builder + our edge function = full funnel. Mailchimp/ConvertKit pattern. | 3-5 days |
| Commerce Engine | spec'd | KLH_products + KLH_product_prices. Arena-reviewed spec (K-618). Stripe gateway-agnostic adapter. | 2-3 weeks |
| Feature | Status | What Exists | Timeline |
|---|---|---|---|
| JeffOS Voice Companion | planned | KBASE pipeline ready. LiveKit voice agent infrastructure working on VPS. Needs Jeff's IP ingested (Launch book, PLF methodology, seed content). | 1-2 weeks |
| Social Media Posting | planned | Meta Graph API identified. Agent architecture exists. Proof-of-concept scope. | 1-2 weeks (POC) |
| Native CRM | planned | GHL bridges day 1. Native CRM replaces GHL dependency. Contact records + tag management + pipeline views. | 60-90 days |
| SWB Chat Widget | planned | Backend exists (support-chat-inbound edge fn, 247 lines). Missing: customer-facing JS embed script. | 2-3 days |
| SWB SLA Rules Engine | planned | SLA metrics exist in dashboard (compliance %, aging grid). Missing: configurable policy rules, breach alerts, auto-escalation. | 2-3 days |
| Shared Calendar | planned | K-623. Replaces Calendly/Acuity. Multi-calendar, booking, availability, coaching session types. Spec factory next. | 3-4 weeks |
PLF OS is not a one-off build. It is a template that replicates across coaching businesses. Jeff co-owns and distributes. The same platform, configured per business, with Jeff's network as the distribution channel.
Every component in PLF OS is built as a shared, configurable module. The LMS engine, Support Workbench, dashboard framework, agent factory, KBASE pipeline, member app shell, and theme system are all reusable across deployments. PLF-specific content (branding, course data, KBASE IP, member migration) is configuration, not code.
This means every coaching business in Jeff's network — Tony Robbins, Dean Graziosi, Stu McLaren, Ryan Levesque, and the 100K+ PLF alumni — can run on the same platform with their own branding, their own data, and their own KBASE. Jeff co-owns the template and distributes it.
Jeff acknowledged the concern: this looks like "one person business that Rick's running." That is a fair question and it deserves a direct answer.
PLF OS runs on shared, managed infrastructure — not a single developer's laptop. Supabase hosts the database (managed Postgres with automatic backups). Cloudflare Pages hosts the frontend (global CDN, zero-downtime deploys). AI agents run across 5 independent vendors (Anthropic, OpenAI, Google, DeepSeek, Zero-LLM). The codebase, deployment pipeline, and infrastructure configuration are all documented and transferable. No single person can "shut it down with a few keystrokes" — the concern Jeff had about Anupam's current position.
On the PLF side, Snehal — trained engineer, affordable, identified by Joan as someone to retain — is the natural internal PLF OS admin. One technically capable person on Jeff's team who understands the system, can configure it, and provides continuity independent of the builder.
The full anatomy of PLF OS in one view. Every station, every capability, every integration — and where each one stands.
What happens after this meeting. Concrete actions, timeline, and decisions needed.
| When | What | Detail |
|---|---|---|
| Before meeting | Research Launchy.ai | Understand feature scope so we can show how KBASE incorporates and extends it |
| By July 31 | Team wind-down | Graceful transitions for Jen, Ash, Anupam, Jane. Knowledge transfer from Ash (knows where everything lives). |
| Retained | Core team | Joan (ops), Snehal (PLF OS admin), Joy (customer service, 14yr tenure, Philippines), possibly Johnny (content/decks) |
| Day 1 | Keap migration starts | API extraction of contacts, tags, purchase history → GHL. Shawn handles the GHL bridge. |
| Remainder of MN contract | Mighty Networks coexists | Already renewed (June). Keep running, gradual member migration to PLF OS app. Sunset within the year. |
| 90 days | PLF OS core live | SWB replacing Kayako, dashboard with real data, member app with coaching content, KBASE with Jeff's IP ingested |
| Decision | Context |
|---|---|
| JV term sheet | Revenue split, who funds the build, co-brand terms, network distribution rights, IP ownership |
| Distribution scope | Jeff's network: 100K+ PLF alumni, JV partners (Tony Robbins, Dean Graziosi, Stu McLaren, Ryan Levesque). 3 other identical deals waiting to sign if this works. |
| Google Docs | Keep — integrate via Drive Picker, don't replace. Jeff was clear on this. |
| Launchy.ai path | Incorporate into KBASE or run alongside? Jeff already sees KBASE as the superset. |
| Snehal's role | Internal PLF OS admin — trained engineer, affordable. Joan identified as must-retain. |
live One core. Many channels. Hosted sub-apps, live intelligence, instant delivery. This is the technical foundation everything else runs on.
SuperStructure is the platform core that every PLF OS feature runs on. It is not a single application — it is an architecture that connects inbound channels (Discord, Facebook, WhatsApp, SMS, email, API, AI voice calls) to hosted sub-apps (member app, dashboard, support workbench) through a shared auth, data, routing, KBASE, KANDOFF, and telemetry layer.
Every tenant (PLF, BLE, Paradigm, etc.) runs on the same SuperStructure with isolated data in their own Supabase project. Adding a new coaching business means configuring a new tenant, not rebuilding the platform.
| Layer | What It Does | Status |
|---|---|---|
| Inbound Channels | Discord, Facebook, WhatsApp, SMS, email, API, AI voice calls — any channel reaches the same system | live 10 channels |
| Platform Core | Auth, data routing, KBASE, KANDOFF, agents, telemetry — the shared brain | live |
| Hosted Sub-Apps | Member apps, dashboards, workbenches — each deployed independently to Cloudflare Pages | live 8+ apps |
| AI / Intelligence | RAG, knowledge graph, JR Analytics, multi-model AI — powers every surface | live |
| PWA Delivery | Add to home screen, push notifications, offline support — no app store needed | live |
18-week build plan from kickoff to production. Week-based phases, no fixed calendar dates. Scope expanded: email engine, workflow automation, and native CRM now built in-house (previously planned for GHL).
spec'd Product Launch Formula is a launch business. The last major launch did $1.3M booked, $390K gross, ~$200K net — months of coordination across a dozen people. PLF OS replaces the manual orchestration with a purpose-built launch console: PLC sequences, real-time cart analytics, JV partner economics, and post-launch operations in one place.
| Stage | Timing | What Happens | Channels | Status |
|---|---|---|---|---|
| Pre-Prelaunch | T-14 | Warming sequence, segment building, anticipation content | spec'd | |
| PLC1 — Opportunity | T-7 | Release video 1, JV partners push link, opt-in tracking begins | Email + Social | spec'd |
| PLC2 — Transformation | T-4 | Release video 2, follow-up sequence to non-openers | Email + SMS | spec'd |
| PLC3 — Ownership | T-2 | Release video 3, “cart opens in 48 hours” anticipation build | Email + SMS | spec'd |
| Cart Open | T-0 | Launch checkout live, JV leaderboard activates, real-time dashboard | All channels | built |
| Mid-Launch | T+3 | Re-engagement emails to non-buyers, case study content | Email + SMS | spec'd |
| Scarcity | T+5 | Timer emails, payment plan reminder, bonus expiration | Email + SMS | spec'd |
| Cart Close | T+7 | Final-hours emails, cart closes, thank-you sequence | Email + SMS | spec'd |
| Post-Launch | T+8+ | Payment plan ops, refund window, JV reconciliation, onboarding | Automated | spec'd |
The PLF dashboard includes a dedicated Launch Tracker tab with real-time analytics during the cart-open window. This is running code, not a mockup.
| Component | What It Shows | File |
|---|---|---|
| Phase Bar | Visual progression: Pre-Prelaunch → Prelaunch → Open Cart → Closed. Active phase highlighted. | LaunchTracker.tsx |
| KPI Cards (5) | Total Opt-Ins, Total Sales, Revenue, Conversion Rate, Refund Rate — live during cart window. | KpiCard.tsx |
| Daily Charts | Plotly bar charts: daily sales count and daily revenue. Shows the classic launch U-curve (day 1 spike, mid-launch dip, final-day surge). | react-plotly.js |
| JV Leaderboard | Sortable table: Partner, Referrals, Sales, Revenue, Commission, Conv%. Real-time ranking during launch. | JVLeaderboard.tsx |
| Launch Selector | Dropdown to switch between launches (PLF 2026, Launch Club evergreen, historical). Compare across years. | LaunchTracker.tsx |
| Feature | Status | Evidence |
|---|---|---|
| Launch Dashboard | built | LaunchTracker.tsx: phase bar, 5 KPI cards, daily Plotly charts, launch selector dropdown. Running in PLF dashboard. |
| JV Leaderboard | built | JVLeaderboard.tsx: sortable 7-column table (Partner, Referrals, Sales, Revenue, Commission, Conv%). Real-time ranking. |
| Workflow Engine | built | Visual workflow builder (ReactFlow, 7 node types, n8n serializer). Runs in production. Powers the PLC sequence automation. |
| Launch Sequence Engine | spec'd | PLC1/2/3 → Cart Open → Scarcity → Close as KLH_workflows sequences. Template library with one-click launch setup. |
| Cart & Checkout | spec'd | Commerce engine spec complete (K-618, arena-reviewed). KLH_products + KLH_product_prices tables, Stripe integration, payment plans. |
| Launch Analytics | built | Daily metrics (opt-ins, sales, revenue per day), conversion tracking, refund tracking. KLH_analytics event pipeline. |
| JV Payout Tracking | spec'd | Commission cents tracked per partner per launch. Payout reporting and reconciliation: 1-2 week build. |
| Playbook Templates | planned | Pre-built PLC sequences. New launch = pick template, set dates, customize content. One-click setup. |
built Visual workflow builder with drag-drop canvas, 7 node types, and n8n execution engine. Purpose-built to replace Keap's gutted automations and GHL's template-locked logic. Now powers launch sequences, drip campaigns, onboarding, and AI-triggered actions.
| Component | What It Does | Evidence | Status |
|---|---|---|---|
| Visual Canvas | Drag-drop workflow design | WorkflowCanvas.tsx — ReactFlow, undo/redo, snap-to-grid, MiniMap | live |
| Node Palette | 7 draggable node types | Trigger, Send Email, Wait, If/Then, Add Tag, Send SMS, Update Contact | live |
| n8n Serializer | Visual → executable | n8nSerializer.ts (226 lines) — converts canvas to n8n JSON workflows | built |
| Execution Engine | Runs workflows | n8n self-hosted on VPS, PM2-managed, production infrastructure | built |
A single workflow orchestrates the entire launch sequence — from opt-in through post-purchase onboarding. Each step triggers automatically based on the previous action.
| # | Trigger | Action | Channel | Node |
|---|---|---|---|---|
| 1 | Member opts in to workshop | Tag "workshop-reg", add to launch segment | System | Trigger + Tag |
| 2 | 3 days before workshop | Send reminder email + SMS | Email + SMS | Wait + Send |
| 3 | Workshop attended | Tag "attended", enroll in PLC sequence | System | If/Then + Tag |
| 4 | PLC1 release day | Send PLC1 video email, notify JV partners | Wait + Send | |
| 5 | PLC1 not watched (48hr) | Re-engagement nudge | SMS | If/Then + SMS |
| 6 | Cart opens | Send cart-open email, activate checkout | Email + GHL | Trigger + Send |
| 7 | No purchase after 3 days | AI-drafted follow-up using KBASE context | If/Then + AI | |
| 8 | Purchase completed | Welcome sequence, enroll in LMS, notify coach | Email + System | Trigger + Tag |
| 9 | Cart closes | Final-hour scarcity, then thank-you | Email + SMS | Wait + Send |
| 10 | Day 7 post-purchase | Onboarding check-in, first feedback request | Wait + Send |
| Type | Examples | Status |
|---|---|---|
| Launch sequences | PLC drip, cart open/close, JV partner notifications, scarcity timers | spec'd |
| Nurture campaigns | Lead warming, re-engagement, win-back, evergreen enrollment | spec'd |
| Onboarding | Welcome series, first-login nudges, coach assignment, goal setting | spec'd |
| Engagement | Streak reminders, milestone celebrations, churn prevention nudges | spec'd |
| Transactional | Payment confirmations, receipts, password resets, account alerts | built |
| Support | Ticket routing, SLA escalation, satisfaction surveys, auto-triage | built |
| Agent-triggered | AI decides next-best-action from KBASE context per member | spec'd |
| Layer | Technology | Status |
|---|---|---|
| Visual Builder | ReactFlow canvas, 7 node types, drag-drop palette, MiniMap | live |
| Execution Engine | n8n (self-hosted on VPS, PM2-managed) | built |
| Serializer | WorkflowCanvas to n8n JSON (226 lines) | built |
| Email Delivery | Mailgun (marketing) + Postmark (transactional) | spec'd |
| SMS Delivery | Twilio via n8n (~$0.008/msg) | spec'd |
| AI Decision Nodes | KBASE semantic search triggers next-best-action | spec'd |
| Scheduling | Cron triggers + event-based triggers via webhooks | spec'd |
spec'd Every revenue stream flows through checkout — coaching tiers, workshops, courses, launches. PLF OS replaces scattered payment systems with a single, gateway-agnostic commerce engine shared across all platform clients.
| Revenue Stream | Price Range | Billing Model | Volume | Status |
|---|---|---|---|---|
| Paid Workshops | $100 | One-time | 1,000+/event | spec'd |
| Coaching Tiers | $5-12K | Payment plans (3-6 installments) | 100-200/yr | spec'd |
| Premium Tier | $15-50K | Custom invoicing | 20-40/yr | spec'd |
| PLF Course (final) | $5,000 | One-time or 3-pay | Winding down | spec'd |
| Launch Club | $97-297/mo | Subscription | Growing | spec'd |
| JV Partner Payouts | 40-50% | Per-launch reconciliation | Per launch | built |
| Component | Detail | Status | Shared |
|---|---|---|---|
| Product Catalog | KLH_products — 12 product types (course, bundle, membership, subscription, coaching, live-event, and more) | spec'd | yes |
| Pricing Engine | KLH_product_prices — one-time, recurring, payment plans, tiered, pay-what-you-want, trial, multi-currency | spec'd | yes |
| Stripe Integration | Gateway-agnostic adapter — Stripe primary (2.9% + $0.30), architecture supports future gateways | spec'd | yes |
| Checkout Edge Functions | commerce-checkout + commerce-webhooks — generic, accept provider key via header | spec'd | yes |
| Payment Plans | Installment scheduling, failed payment handling, dunning automation | spec'd | yes |
| Promotions | Coupon codes, discount rules, early-bird pricing, time-limited offers | spec'd | yes |
| Subscription Management | Monthly/annual, upgrade/downgrade, cancel, proration | spec'd | yes |
| Admin UI | ProductEditor, PromotionEditor, AdminCommerce tab — shared React components | spec'd | yes |
| Checkout UI | CheckoutFlow component — embeddable in member app or standalone page | planned | yes |
| JV Commission Tracking | JVLeaderboard component — commission_cents per partner, sortable, 7 columns | built | yes |
| Revenue Reporting | PLF Dashboard — daily/monthly revenue charts, launch vs evergreen breakdown | built | PLF-specific |
| Layer | Shared (platform) | Project-specific (thin wrapper) |
|---|---|---|
| Tables | KLH_products, KLH_product_prices — identical schema on every project | None |
| RPCs | 5 commerce RPCs (deployed per project via db.sh) | None |
| Edge Functions | commerce-checkout, commerce-webhooks (generic) | Env vars only (Stripe keys per project) |
| Hooks + Components | useProducts, usePromotions, ProductEditor, CheckoutFlow | 3-line wrapper passing project client |
| Import Scripts | None (generic format) | Per-project import scripts (data shape varies) |
Page-builder-agnostic lead capture. Any page builder, one universal endpoint, full pipeline automation. Same pattern Mailchimp and ConvertKit use — but with AI-powered workflows and your own data.
| # | What Happens | Where |
|---|---|---|
| 1 | Prospect visits landing page (built in any page builder) | External page (GHL, Webflow, etc.) |
| 2 | Fills out form — name, email, custom fields | External page |
| 3 | Form POSTs to our universal edge function endpoint | form-capture edge fn |
| 4 | Edge function validates and upserts KLH_user_profiles | PLF Supabase |
| 5 | Tags contact based on form_id (e.g. "workshop-reg", "plc1-optin") | PLF Supabase |
| 6 | Logs event to KLH_analytics for funnel conversion tracking | PLF Supabase |
| 7 | Fires workflow trigger via webhook | n8n engine |
| 8 | Workflow sends welcome email, starts drip sequence | Mailgun + n8n |
| 9 | Dashboard shows funnel conversion in real-time | PLF Dashboard |
| Page Builder | Type | Best For | Integration |
|---|---|---|---|
| GHL | Full platform | Shawn already runs it, templates included | Native forms + webhook |
| Webflow | Professional sites | Custom-designed landing pages | Form → webhook |
| Carrd | Simple pages | Quick one-page opt-ins ($19/yr) | Form → webhook |
| WordPress | Content sites | Blog-to-funnel, SEO landing pages | Plugin or embed |
| Squarespace | Brand sites | High-design sales pages | Form → webhook |
| Static HTML | Custom | Full control, fastest load times | Direct POST or JS embed |
| Our JS Embed | Universal | Drop on ANY page, works everywhere | Script tag (like Mailchimp) |
| Component | Status | Detail |
|---|---|---|
| form-capture edge function | planned | K-622 — universal intake endpoint |
| JS embed snippet | planned | K-622 — drop-in script tag for any page |
| KLH_user_profiles | live | Contact records — production, multi-tenant |
| KLH_analytics | live | Event tracking + funnel attribution — production |
| Workflow engine (n8n) | live | Visual builder + execution — production |
| Funnel conversion dashboard | spec'd | PLF Dashboard tab — Plotly funnel charts |
planned Coaching tiers are the new business model. Every coaching session, workshop, and office hour needs scheduling, booking, and follow-up. Built as a shared component across all client apps. Card: K-623.
| Session | Duration | Who | Frequency | Tier | Status |
|---|---|---|---|---|---|
| 1:1 Coaching | 45-60 min | Coaches | Weekly | $5-12K | spec'd |
| Group Coaching | 90 min | Jeff or Dan | Weekly | $5-12K | spec'd |
| Hot Seat / Q&A | 60 min | Jeff | Monthly | $15-50K | spec'd |
| Paid Workshop | 2-3 hr | Jeff + Dan | Quarterly | $100 entry | spec'd |
| Office Hours | 60 min | Dan / Coaches | Weekly | All tiers | spec'd |
| Strategy Call | 30 min | Sales team | On-demand | Prospect | spec'd |
| Feature | Calendly | Acuity | GHL | PLF OS |
|---|---|---|---|---|
| 1:1 booking | YES | YES | YES | designed |
| Group sessions | NO | YES | partial | designed |
| Multi-calendar | paid tier | YES | YES | designed |
| Buffer time | YES | YES | NO | designed |
| Timezone auto-detect | YES | YES | YES | designed |
| Reminders (SMS) | paid | YES | YES | Twilio |
| No-show tracking | NO | YES | NO | designed |
| Embedded on any page | YES | YES | limited | JS embed |
| Integrated with CRM | Zapier | Zapier | native | native |
| Triggers workflows | Zapier | Zapier | limited | native (n8n) |
| Coaching progress link | NO | NO | NO | native |
| AI coaching follow-up | NO | NO | NO | KBASE |
| Component | Technology | Status | Card |
|---|---|---|---|
| Calendar UI | React shared component | planned | K-623 |
| Booking engine | Supabase RPC + KLH_events | spec'd | |
| Availability rules | JSONB config, timezone-aware | spec'd | |
| Reminders | Workflow (n8n) → Mailgun + Twilio | spec'd | |
| Google Calendar sync | Google Calendar API (2-way) | spec'd | |
| Embed widget | JS embed (same pattern as form-capture) | spec'd |
Every objection Jeff raised, plus the ones he has not thought of yet. Addressed up front so the conversation stays on partnership terms, not lingering doubts.
Building an operating system for a coaching business is a big claim. Jeff said it himself: "It's the dream… sounds too good to be true." That is the right instinct. These are the questions a smart operator should ask before committing, and each one gets a direct answer with evidence.
| Question | Answer | Evidence |
|---|---|---|
| "This sounds too good to be true" | It would be — if it were a pitch deck. It is not. The Support Workbench is handling live tickets right now. The dashboard is rendering real data. The agent factory runs 21 agents across 5 AI vendors in production. Every status label in this guide is honest: LIVE means running, BUILT means working code not yet deployed, SPEC'D means designed with a working pattern behind it, PLANNED means it is on the roadmap but not started. Nothing in this guide is vaporware — the sections with LIVE badges have buttons to see the running system. | See it live buttons throughout this guide |
| Can you really replace Kayako? | Already done. The Support Workbench has 46 components, handles 10 channels (email, SMS, WhatsApp, voice, web chat, social DMs, in-app, form submissions, API, manual), AI-powered draft responses using your own knowledge base, canned response libraries, collision detection so two agents do not reply to the same ticket, and CSAT tracking. Kayako's own G2 score dropped from 4.0 to 3.6 and they use Zendesk for their own support. | Section 03 — full comparison |
| What about email / replacing Keap? | Keap/Infusionsoft is the biggest cost savings. Estimated $18–30K/year for email delivery that lands in spam folders. PLF OS uses Mailgun with dedicated IPs for transactional and marketing email, giving full sender reputation control. GHL handles CRM contact management as a bridge. The compose UI has AI assists (draft in my voice, tighten, subject line ideas), segment targeting, and workflow chaining. | Section 04 — Email & CRM |
| Can you replace Asana? | In 30–60 days, yes. The KANDOFF board system already runs production project management with full activity threads, checklists, acceptance criteria, and file attachments. What it needs for non-technical users: a simplified card view (hide dev fields), drag-and-drop, calendar view by due date, and email notifications. Those are UI polish, not architecture. And from day 1, KANDOFF has something Asana never will: AI agents that pick up tasks, do the work, and write their own status updates. | Section 07 — Project Mgmt |
| Google Docs? | Stays. Google Docs is sacred — Jeff was clear on this and he is right. PLF OS integrates via Google Drive Picker: browse and select files from within the app, preview inline, open in a new tab for editing, pull content back. Google blocks iframe editing for everyone (even their own apps), so the "open in new tab" pattern is how every major platform handles it. No replacement, just seamless access from within PLF OS. | Google Drive Picker API — standard integration |
| QuickBooks Desktop? | This is the constraint Jeff flagged early and he was right to. QB Desktop (not Online) requires QB Web Connector or QODBC for data access — there is no cloud API. The proven pattern: QODBC nightly backup from Mary's machine to the VPS, then dashboards read from the copy. Mary's comfort: it is a read-only copy, never touches the live system, and T-1 day data is still better than the manual reports she runs today. | Section 12 — QB Desktop; proven in HKM project |
| What about Launchy.ai? | This is a genuine gap in our knowledge. Jeff mentioned it has "substantially more functionality than initially assumed." Before sharing any written plans, we need to understand what Launchy does so we can show how KBASE incorporates and extends it rather than duplicating or conflicting. The honest answer: if Launchy does things KBASE does not, we integrate. If KBASE covers the same ground with more depth, Jeff sees the comparison and decides. | Must research before the meeting |
| Social media automation? | Phase 2. Social posting is an agent build (Meta Graph API for Instagram, Twitter/X API, LinkedIn) — a drafting and scheduling agent, not a full social media management platform. The community features (polls, reactions, discussion threads) are built in the member app. Social automation is on the roadmap but not promised for day 1. | Checklist item — STRETCH |
| Who asks | Question | Answer |
|---|---|---|
| Dan | "Does using AI mean we're admitting a deficiency?" | No. Dan's instinct is right — AI should be the right tool for the job, not a crutch for something you should be doing yourself. Frame: this is modern equipment for his shop floor. A photographer does not apologize for using a better lens. A race car driver does not feel deficient for having telemetry. The AI agents handle the repetitive operational work (ticket triage, draft responses, report generation, data entry) so Dan can focus on the creative work he actually wants to do — write the email, shape the content, coach the member. |
| Dan | "What does my day actually look like?" | Open PLF OS. Dashboard shows what happened overnight (tickets resolved, member activity, content engagement). Agents have already triaged incoming support and drafted responses — Dan reviews and sends. He writes the next coaching email in the compose tool with AI assists (not writing for him, sharpening what he wrote). He records a 10-minute video and drops it in the content tab. That is a morning. Then he goes skiing, takes photos, or works on the boutique tier. The system runs while he is away. When he comes back, the dashboard shows what happened. |
| Joan | "How do I manage all of this?" | One screen. Joan's dashboard view shows operational KPIs: open tickets, member engagement trends, upcoming renewals, task status across all projects. The workbench (KANDOFF reskinned for ops) gives her a simplified board with tasks, due dates, and agent activity. She does not need to understand the technical layer — the system surfaces what needs attention and she acts on it. The agent factory page shows her what the AI agents are doing, but she does not need to manage them. |
| Mary | "Does this touch my QuickBooks?" | Never. The system reads a nightly copy. Mary's live QuickBooks Desktop is untouched — no writes, no syncs, no risk. The copy runs on the VPS (our server), and the dashboard pulls financial KPIs from it. If the copy breaks, her live system is fine. If she does not want it at all, we turn it off. Zero risk to her workflow. |
| Jeff | "What if Rick gets hit by a bus?" | The platform runs on managed cloud services, not a laptop. Supabase (database) has automatic backups and is accessible to any developer. Cloudflare Pages (frontend) deploys from a Git repository anyone can access. The codebase is documented, version-controlled, and transferable. Snehal (internal engineer) provides continuity on the PLF side. And the AI agents themselves — running across 5 independent vendors — do not depend on any single person. This is not Anupam's situation where one person holds all the keys. |
| Jeff | "What happens to our data if this does not work out?" | PLF's data lives in its own Supabase project — completely isolated from every other business on the platform. Jeff owns the database. Full export is a standard Postgres dump at any time. Member data, course content, support history, KBASE knowledge — all exportable, all portable. If PLF OS does not work, Jeff walks away with his data intact. No lock-in, no hostage situation. |
| Dan / Joan | "How long until we can actually use this?" | Support Workbench: now. It is live. Dashboard with PLF data: 2–4 weeks. Member app with real content: 4–6 weeks. Email compose and marketing: 6–8 weeks. Full Asana replacement: 8–12 weeks. JeffOS voice companion: 4–6 weeks (content ingestion is the bottleneck, not the technology). See Section 18 for the detailed project plan and Gantt chart. |
| Jeff | "What does this cost me?" | This is a JV conversation, not a vendor quote. The term sheet framework covers: who funds the build (Jeff or shared), revenue split on distribution to his network, co-brand terms, IP ownership. On the infrastructure side, PLF OS running costs are modest — Supabase Pro ($25/mo), Cloudflare Pages (free tier), Mailgun ($35/mo at PLF volumes), AI agent API costs (~$200–400/mo at current usage). Total infrastructure: under $500/month. The build cost is the real conversation, and that is what the JV terms determine. |
| Anyone | "What about the Keap data migration?" | Keap/Infusionsoft data extraction is a known pain — Jeff mentioned it himself. The migration path: API extraction of contacts, tags, purchase history, and email engagement data. Shawn handles the GHL bridge for CRM continuity. The data moves in phases — contacts first, then purchase history, then engagement data. Nothing is deleted from Keap until Jeff confirms the new system has everything. Parallel running for as long as needed. |
A note on the platform decision, before you have to ask.
It is a fair question, and you will think it even if you do not say it: there are off-the-shelf platforms built for businesses like this — used by thousands, certified by thousands more, priced like an afterthought. Why not just run on one of those?
We started there. We meant to. And for a certain kind of business, those platforms are genuinely excellent — the solo creator who has never had funnels, automations, and a member experience under one roof is, rightly, amazed by them. That is real, and we have no quarrel with it. But the difference for a business like this is not quality. It is that you want the thing you want, when you want it — and you expect the tools to keep up. Every time the work called for two parts of the system to actually talk to each other, we met a wall the platform was never built to clear. The small marketer never pushes hard enough to find those walls. You do, on day one — because you can already picture exactly what you want, and you just want it to work.
You have said it plainly — it kills you that you cannot just send a freaking email. That is the whole point. A business like this should let you and Dan have an idea on a Saturday afternoon and have it in members' inboxes that night — not route it through six people and a two-week runway because the tooling cannot keep up with the creative. That responsiveness only exists if we own the layer where it lives. On a platform whose capabilities and release schedule we do not control, that freedom is permanently one vendor decision away from breaking. We are not willing to build your creative freedom on top of something we cannot answer for.
It was never really about any one platform's bugs. It was about a pile of separate products that do not talk to each other — a calendar here, a mailer there, a course tool somewhere else — and the daily frustration of wanting one simple thing and having to broker it across five of them. The answer is not a better product in the pile. It is one system where the parts already know about each other, so when you want something, you just have it.
On someone else's platform, you carry the liability and the support load — but not the fix. When something breaks mid-launch, "that is a third-party bug" is both true and useless. It does not reassure a member, and it is not an answer we are willing to give you at 2am. Owning the core means one accountable party, one phone that rings, one team that fixes it. That is the safer architecture, not the riskier one.
This is the part that matters most. The regulated, hard-won infrastructure stays exactly where it belongs. Messaging and telephony run on Twilio. Payments run on Stripe. Books run on QuickBooks. Those are purpose-built specialists; we touch them only through their APIs. What we own is the layer where PLF's difference actually lives — the orchestration, the member experience, the way it all moves together. We own the core. We rent the dragon. That single distinction is the whole discipline of the decision.
You put it on the table yourself: this cannot be a business that depends on one person running it. You are right, and we would rather meet that head-on than tiptoe around it. A core we own — with operations documented and agent-assisted, built so a small strong team can run it — is more transferable than a launch business held together by tribal knowledge and a vendor outside our control. Owning the platform is what lets the knowledge live in the system instead of in one head. The decision that gives PLF the most independence from any single person is the one we made.
Yes, the off-the-shelf option looks almost free, and we respect that — you do not waste money, and neither do we. But the license was never the real cost. The real cost was the integration tax, the ceiling on what we could build for you, and a steady stream of changes you did not ask for and could not control. Measured the way you actually measure things — on opportunity cost, not sticker price — "free" has been the more expensive path.
And there is an upside hiding in all this. Owning the platform is what lets PLF lead this new way of working, not resell it on someone else's rails. That is the positioning you have been circling — and it is only available to the business that owns its own core.
None of this will be perfectly clean. There will be overlap and a few rough edges while it comes together — you already know how this goes. But the direction is settled, and it is the right one: build the part that makes PLF PLF, rent the part that is better left to the specialists, and stand behind the whole outcome ourselves.
Build the core. Rent the rest. Own the outcome.
Internal team messaging for Jeff, Dan, Joan, and the retained team. Same platform, same data, same AI — no separate app to check.
Slack is built for companies with hundreds of channels and thousands of messages a day. For a team of 6–9 people, it is a $90–160/month subscription for what amounts to group chat. Worse, it is another silo — conversations about a member happen in Slack, the member's data lives in the dashboard, the support ticket lives in the workbench, and nobody sees the full picture without switching apps.
PLF OS already has a full messaging system — channels, DMs, threads, reactions, file sharing, realtime updates — built on the same tables that power the member community. The difference: when Joan messages Dan about a member, the system already knows who that member is, what their support history looks like, and what their engagement score is. That context is one click away, not three app switches away.
| Feature | Slack | PLF OS | Status |
|---|---|---|---|
| Channels | Public and private channels, topic-based | Named groups with icons, descriptions, member counts, sort order. Announcement channels (admin-only posting). | Built |
| Direct messages | 1:1 and group DMs | 1:1 DMs with WhatsApp-style bubbles. Same table structure — just a different channel type. | Built |
| Threaded replies | Reply threads within channels | Parent-child threading with configurable depth (up to 3 levels). Nested message display. | Built |
| Reactions | Full emoji picker, per-message | Configurable reaction types (heart, relate, celebrate, helpful). Per-user toggle. | Built |
| File sharing | Drag-and-drop, inline preview, up to 1GB | File and photo attachments via Supabase Storage. Inline preview, camera/photo button. | Built |
| Realtime | Instant message delivery | Supabase Realtime (Postgres changes). Auto-refresh on new messages. | Built |
| Search | Full-text across all messages, filters by person/channel/date | Client-side filter by body or sender. Server-side full-text is one RPC away. | Partial |
| Unread counts | Per-channel unread badges, Activity feed | Per-group unread count with markRead() API. | Built |
| Mute / notifications | Per-channel notification preferences, DND | Per-group mute toggle. Push notifications via PWA. | Built |
| Member directory | Profile cards, timezone display | Full directory with profiles, roles, locations, connections. Near Me geo map. | Built |
| Moderation | Admin controls, message deletion | Admin moderation panel, message deletion, role-based access (admin/moderator/member). | Built |
| Polls & events | Polls via third-party apps only. No built-in calendar. | Native polls, events calendar, schedule-a-call modal, games (trivia, icebreaker). | We win |
| @mentions | @person, @channel, @here with notification routing | Not yet built. Needs mention parsing and notification routing. | Gap |
| Message editing | Edit any sent message | Delete exists, edit not yet built. Straightforward add to existing API. | Gap |
| Presence / status | Online/away/DND indicators, custom status | Not yet built. Supabase Presence API available for this. | Gap |
| Pinned messages | Pin messages and files to channel header | Data field exists (pinned flag in schema), needs UI to pin and view. | Partial |
| Huddles / calls | Lightweight audio/video calls, screen sharing | LiveKit voice infrastructure exists on VPS. Needs UI integration for ad-hoc team calls. | Partial |
| Workflow builder | No-code forms, reminders, approvals, routing | n8n workflow engine already running (§ 20). More powerful than Slack's built-in builder. | Built |
| Scenario | In Slack | In PLF OS |
|---|---|---|
| Joan mentions a struggling member | Copy-paste the name, switch to Kayako, search tickets, switch to dashboard, look up engagement | Tap the member name — profile, support history, engagement score, and coaching notes are right there |
| Dan asks about a launch metric | Someone screenshots the dashboard and pastes it into Slack. It is stale by the time they look at it. | Link to live dashboard widget. Always current. Dan can drill into it without leaving the conversation. |
| Support ticket needs team input | Copy ticket details into Slack, discuss, then go back to Kayako to write the reply | Ticket thread IS the discussion. AI drafts the reply from the conversation context. One place. |
| Jeff asks an agent to research something | Not possible. Slack bots are simple triggers, not AI agents with KBASE access. | Tag an agent in the conversation. It queries KBASE, returns research, logs the interaction. |
The member community and the team communications run on the same database tables: KLH_case + KLH_case_threads + KLH_case_entities. Channels are entity groups. Messages are threads. DMs are a channel type. The only difference is a channel field that separates member-facing community from internal team comms.
This means every tool in PLF OS — the dashboard, the support workbench, the agent system, KBASE, the workflow engine — already has access to team conversations. No integration needed. No webhook plumbing. No "connect Slack to X" middleware. The data is already in the same system because it was built that way from day one.
| Feature | Effort | Detail |
|---|---|---|
| @mentions | 1–2 days | Parse @name in compose, trigger push notification to mentioned user. Standard pattern. |
| Message editing | Half day | Add edit endpoint to existing API, show edit indicator on message bubble. Delete already works. |
| Online presence | 1 day | Supabase Presence API. Green dot on avatar. Small team makes this simple. |
| Pin messages UI | Half day | Data field already exists in schema. Add pin action to message menu, pinned-messages sidebar. |
| Full-text search | 1 day | Add server-side RPC with Postgres full-text search. Client filter already works for small volumes. |
Total: ~4 days of work to reach full Slack parity for a small team. None of these are architectural — the foundation is built.