GHL Free Stack
GHL-Free Stack + Slick Purchase/Intake/Onboarding Sequence
Section titled “GHL-Free Stack + Slick Purchase/Intake/Onboarding Sequence”Replaces every GHL function with free/cheap alternatives that run on your existing Hostinger VPS + Supabase + n8n + Framer (dwadlane.com).
Section titled “Replaces every GHL function with free/cheap alternatives that run on your existing Hostinger VPS + Supabase + n8n + Framer (dwadlane.com).”Net monthly cost: ~$0 beyond your existing Hostinger VPS + Stripe per-transaction fees. This is more aligned with your Claude-first, infra-focused identity than GHL ever was.
1. THE REPLACEMENT MAP (every GHL function → free/cheap alt)
Section titled “1. THE REPLACEMENT MAP (every GHL function → free/cheap alt)”| Function GHL did | Replacement | Cost | Notes |
|---|---|---|---|
| CRM / contact management | Folk (free tier, 1,000 contacts) OR NocoDB self-hosted on your VPS (free, unlimited) | $0 | Folk is slicker out-of-box; NocoDB is the power move since Supabase stays your source of truth |
| Pipeline / deal stages | Supabase table + a simple Softr or NocoDB view | $0 | You already have Supabase; n8n updates stage fields |
| Email nurture / automation | Resend (free 3,000/mo, 100/day) + n8n to orchestrate | $0 | Resend is developer-grade, slick API, n8n has a native node. Upgrade to paid only if you exceed 3k/mo |
| Calendar booking | cal.com (free cloud tier) OR self-host on VPS (free, unlimited) | $0 | Open-source Calendly alternative; embeds cleanly in Framer |
| Payments / checkout | Stripe (per-transaction only, no monthly fee) | ~2.9%+$0.30/txn | Embed Stripe Checkout / Payment Links directly on dwadlane.com — slick, hosted, no code |
| Forms / intake | Tally (free, near-unlimited) OR Fillout (free tier) OR n8n Form Trigger (self-host, free) | $0 | Tally is the best free form builder; webhook → n8n → Supabase |
| E-signature (SOW, MNDA, DPA) | DocuSeal (open-source, self-host on VPS) | $0 | Full DocuSign replacement, free, API + webhooks for n8n |
| Affiliate / referral program | Self-host Reflio (open-source, free) OR a DIY Supabase + n8n referral tracker | $0 | For starting out, a simple ?ref=DWAD123 tracked in Supabase + manual Wise payouts is enough |
| Client portal | Softr (free 50 users) OR custom Framer + Supabase portal | $0 | Custom Framer portal is the slickest, most on-brand option — you’re a Framer user |
| Analytics / funnel tracking | Plausible self-host (free) OR Framer built-in | $0 | Privacy-friendly, fast, self-hosted |
| SMS / WhatsApp (optional) | Wati (you have it) or skip | varies | Only if you want async client comms |
What you keep from the original stack: ScoreApp (lead magnet — still the best tool for it), n8n, Claude, Supabase, Metabase, Placid/Bannerbear (graphics), Carbone/Gotenberg (PDF, self-hosted), Loom.
Optional upgrade: if ScoreApp feels like too much, you can replace it with a Tally form + n8n + Claude scoring combo for $0 — but ScoreApp’s instant-results-page and shareable graphic are worth it for the viral loop. Keep ScoreApp.
2. THE NEW ARCHITECTURE (one diagram)
Section titled “2. THE NEW ARCHITECTURE (one diagram)”dwadlane.com (Framer) ├── /audit ← sales page (Asset 1) ├── /score ← embedded ScoreApp scorecard (lead magnet) ├── /pricing ← 3 tiers, Stripe Checkout buttons ├── /book ← embedded cal.com (scoping + interview booking) └── /portal/[id] ← custom client portal (Framer + Supabase, gated) ├── status checklist (signed? intake done? interview booked?) ├── deliverables (PDF, Loom, score graphic) when ready └── referral link + shareable graphic
n8n (on Hostinger VPS) — the brain ├── ScoreApp webhook → Supabase + Resend (nurture email 1) ├── Stripe webhook → Supabase (create engagement) + Resend (welcome email) ├── DocuSeal webhook → Supabase (mark signed) ├── Tally webhook → Supabase (store intake) ├── cal.com webhook → Supabase (store interview) ├── Claude analysis (on all-3-complete trigger) ├── Carbone/Gotenberg → PDF ├── Placid → shareable graphic └── Resend → all delivery/nurture emails
Supabase — single source of truth (Postgres) ├── contacts, engagements, scorecard_results, intake, interview_notes, │ analysis_drafts, deliverables, referrals └── Metabase reads from here for the portal dashboardsSupabase stays the system of record. n8n writes to it; everything reads from it. This is cleaner than GHL ever was because you own the data model.
3. THE SLICK PURCHASE → INTAKE → ONBOARDING SEQUENCE
Section titled “3. THE SLICK PURCHASE → INTAKE → ONBOARDING SEQUENCE”Designed to feel premium and frictionless. The bar: a client should be able to go from “I want this” to “my interview is booked” in under 4 minutes, with zero emails back-and-forth.
Step 1 — Discovery (public site)
Section titled “Step 1 — Discovery (public site)”- Visitor lands on dwadlane.com/audit (Asset 1 sales page).
- Two entry points: “Get my AI Readiness Score” (→ ScoreApp, free) or “See pricing” (→ /pricing).
- Both paths lead to the same place eventually; the score path is warmer.
Step 2 — The free scorecard (ScoreApp, embedded on Framer)
Section titled “Step 2 — The free scorecard (ScoreApp, embedded on Framer)”- Embedded ScoreApp on dwadlane.com/score (iframe or subdomain — feels native, not third-party).
- 21 questions, 7 min, instant 0–100 score + radar + shareable graphic.
- Email gate to reveal full results → captures lead.
- ScoreApp webhook → n8n → Supabase (
scorecard_results) + Resend (Email 1: their score + the audit offer) + tag in Supabase if score 40–79 (hot lead). - Shareable score graphic (Placid) generated and included in the email so they can post it → referral loop starts even before they pay.
Step 3 — The purchase (Stripe, embedded on Framer)
Section titled “Step 3 — The purchase (Stripe, embedded on Framer)”- On dwadlane.com/pricing, three tiers as cards: Snapshot $1,500 / Opportunity $3,000 / Deep Dive $5,000.
- Each “Get started” button opens a Stripe Checkout (Payment Link or embedded Checkout) — Stripe hosts the modal, handles card/PayNow/GCash (Stripe PH supports GCash and GrabPay), sends receipt automatically.
- For 50/50 tiers (Opportunity & Deep Dive): Stripe Checkout with a 50% deposit + a saved payment method; n8n sends the second invoice on delivery. (Or use Stripe Invoicing for the second half — free, automated.)
- Stripe webhook (checkout.session.completed) → n8n:
- Creates
engagementrow in Supabase (status:won, tier, client details from Stripe). - Upserts
contactsrow. - Triggers the welcome sequence (Step 5).
- Generates a unique portal URL (
/portal/[engagement_id]) — magic link, no login.
- Creates
- Slick detail: the Stripe success page can redirect to their personal portal URL immediately, so right after paying they land on a branded “You’re in — here’s what happens next” page. Premium feel, zero friction.
Step 4 — The onboarding portal (Framer + Supabase, the centerpiece)
Section titled “Step 4 — The onboarding portal (Framer + Supabase, the centerpiece)”This is the slick part. Right after payment, the client lands on their personal portal at dwadlane.com/portal/[id]. It’s a Framer page that reads from Supabase via the Supabase JS client (gated by the engagement ID in the URL — a “magic link”).
The portal shows a 3-step checklist that updates in real time as n8n marks each step complete:
YOUR AI OPPORTUNITY AUDIT — [Client Company]Engagement ID: #ENG-2026-014 · Tier: Opportunity Audit · Delivery: 14 days
✓ Payment received — $1,500 (deposit)✓ Welcome email sent
STEP 1 — Sign your engagement letter & MNDA [ 3 min ] → [Sign with DocuSeal] Status: ⏳ Pending
STEP 2 — Complete your intake questionnaire [ 15 min ] → [Open intake form] Status: ⏳ Pending
STEP 3 — Book your stakeholder interview(s) [ 1 min ] → [Book with cal.com] Status: ⏳ Pending
⏱️ Your 14-day delivery clock starts when all 3 are done.Current estimated delivery: [DATE, calculated live]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━QUESTIONS? Reply to your welcome email or WhatsApp: [link]- Each step’s button deep-links to the right tool (DocuSeal packet, Tally intake, cal.com booking).
- Webhooks update the checklist live: DocuSeal → n8n → Supabase
signed=true→ portal shows ✓. Same for Tally and cal.com. The client refreshes and sees progress — it feels alive and professional. - When all 3 are done, the portal auto-flips to a “We’re working” state with an estimated delivery date, and n8n sends a confirmation email.
- When deliverables are ready, the portal shows the final state: PDF download, Loom embed, score graphic, debrief booking link, referral link.
Why this is better than GHL: it’s your branded experience on your domain, fully custom, and it costs nothing. GHL portals are generic; this is on-brand and impressive.
Step 5 — The welcome email (Resend, via n8n)
Section titled “Step 5 — The welcome email (Resend, via n8n)”Sent the instant Stripe confirms payment. Clean, personal, action-focused.
Subject: You’re in — your AI Opportunity Audit starts now
Hi [FIRST],
Welcome. Here’s exactly what happens next — you can also track everything on your personal portal: dwadlane.com/portal/[id]
3 things to do now (under 5 minutes each):
- Sign your engagement letter & NDA → [DocuSeal link]
- Complete your intake questionnaire → [Tally link]
- Book your interview → [cal.com link]
Your 14-day delivery clock starts the moment all three are done — so the faster these, the faster your roadmap.
What you’ll get: your AI Readiness Score (0–100), a ranked opportunity matrix, a 30/60/90 roadmap, an ROI projection, a recorded walkthrough, and a live debrief.
Your single point of contact: me. Reply here or WhatsApp: [link].
— Dwad
[Portal link] · [Calendar] · [Intake form]
- Sent via Resend (n8n node) — delivers in seconds, tracks opens/clicks.
- All links also live in the portal, so they’re never searching their inbox.
Step 6 — Intake & signature (DocuSeal + Tally)
Section titled “Step 6 — Intake & signature (DocuSeal + Tally)”- DocuSeal (self-hosted on your VPS): sends the engagement letter + MNDA (and DPA for Deep Dive) as a single e-sign packet. Client signs on their phone in 2 minutes. Webhook → n8n → Supabase marks
signed=true+ stores signed PDF in Supabase Storage. - Tally (free): the deep intake form — 7 dimensions + use-case inventory. Conditional logic (Deep Dive shows stakeholder-roster section). Webhook → n8n → Supabase
intake_responses. - Both update the portal checklist live. No “did you get my email?” friction.
Step 7 — Interview booking (cal.com)
Section titled “Step 7 — Interview booking (cal.com)”- cal.com (free cloud tier or self-host): client books their interview slot(s) directly from the portal. cal.com can enforce “1 interview for Snapshot, 2–3 for Opportunity, 5–6 for Deep Dive” via event types.
- cal.com webhook → n8n → Supabase
interview_booked=true+ creates a calendar event + sends a prep email to the client (interview prep guide from the welcome packet). - Reminders: n8n + Resend sends 24h and 1h reminders (no separate tool needed).
Step 8 — Clock starts (n8n, automated)
Section titled “Step 8 — Clock starts (n8n, automated)”When DocuSeal signed + Tally complete + cal.com booked all = true, n8n:
- Sets
engagement.status = in_progress,clock_start_date = now(). - Calculates
target_delivery_date = clock_start + 14 days. - Sends a “clock started” email: “Your audit is officially underway — estimated delivery [DATE].”
- Updates the portal to the “We’re working” state.
Step 9 — Analysis & delivery (same as Asset 3, GHL removed)
Section titled “Step 9 — Analysis & delivery (same as Asset 3, GHL removed)”- n8n triggers Claude analysis → Carbone PDF → Placid graphic → portal populated → Loom recorded → delivery email via Resend.
- Delivery email links to the portal (where PDF, Loom, graphic, debrief booking all live) rather than attaching files — cleaner, trackable, and the portal is the “wow” moment.
Step 10 — Debrief + referral (Resend + Supabase tracker)
Section titled “Step 10 — Debrief + referral (Resend + Supabase tracker)”- Debrief booked via cal.com (portal link).
- After debrief, n8n generates the client’s referral link (
dwadlane.com/audit?ref=[code]), stores in Supabasereferralstable, and sends the referral-prompt email with their shareable score graphic. - Anyone who arrives with
?ref=and pays → Stripe webhook notes the ref code → n8n attributes → 30 days after payment → you pay via Wise.
4. THE DIY REFERRAL TRACKER (replaces GHL Affiliate Manager)
Section titled “4. THE DIY REFERRAL TRACKER (replaces GHL Affiliate Manager)”For a solo starting out, you don’t need Rewardful/Tolt. A simple tracker costs $0:
- Supabase table:
referrals (ref_code, referrer_contact_id, referred_contact_id, engagement_id, status, commission_earned, commission_paid, paid_at) - Link format:
dwadlane.com/audit?ref=DWAD123— Framer reads?ref=from the URL, stores it inlocalStorage(so it persists across the scorecard and purchase), and n8n includes it in the Stripe metadata. - Stripe webhook includes the ref code in session metadata → n8n writes the referral row.
- Commission calc: n8n computes 15% of the paid amount (or $400 flat, whichever greater) + 15% of any retainer.
- Payout: you review the
referralstable weekly and pay via Wise manually (automate later with the Wise API if volume grows). - Disclosure: the referral email includes the FTC-compliant disclosure line (Asset 4).
This is genuinely all you need until you have 20+ referrers. Then upgrade to Tolt ($29/mo) or Rewardful ($49/mo) for self-service affiliate dashboards.
5. WHAT TO UPDATE IN THE OTHER ASSETS
Section titled “5. WHAT TO UPDATE IN THE OTHER ASSETS”You don’t need to re-read them — here’s every GHL reference and its replacement:
| Asset | Was (GHL) | Now (replacement) |
|---|---|---|
| Asset 1 (sales page) | “Book via GHL calendar” | “Book via cal.com” embedded on dwadlane.com |
| Asset 1 footer | GHL referral block | Resend-sent referral email + Supabase tracker; portal-hosted referral link |
| Asset 3 (n8n pipeline) | GHL upsert contact, GHL email, GHL affiliate | Supabase upsert, Resend email, Supabase referral tracker |
| Asset 4 (legal) | Payment methods incl. GHL payments | Stripe (primary) + Wise (bank transfer); DocuSeal for e-sign |
| Asset 6 (ops runbook) | GHL pipeline stages, GHL custom fields | Supabase engagements.status field + NocoDB/Folk view; same stage names |
| Asset 7 (sales bridge) | “Move to Won in GHL” | n8n auto-creates engagement on Stripe webhook; you track stage in Supabase/NocoDB |
Stage names stay the same (Lead → Qualified → Proposal → Won → In Progress [Intake/Interviews/Analysis/Review/Delivery prep] → Delivered → Debrief → Retainer → Nurture) — they’re just a status field in Supabase now, viewed in NocoDB or Folk.
6. BUILD ORDER (revised, GHL-free)
Section titled “6. BUILD ORDER (revised, GHL-free)”- Week 1 — Data layer: Supabase schema (from Asset 3) + set up Resend + connect n8n. Create the Framer
/audit,/score,/pricingpages. - Week 2 — Purchase flow: Stripe account + Payment Links for the 3 tiers + Stripe webhook → n8n → Supabase (create engagement). Test a $1 purchase end-to-end.
- Week 3 — Onboarding portal: Build the Framer portal template (
/portal/[id]) reading from Supabase. Self-host DocuSeal + Tally intake + cal.com booking. Wire all 3 webhooks → Supabase → portal checklist. - Week 4 — Analysis pipeline: Claude nodes (Asset 3 prompts) + Carbone PDF + Placid graphic. Test on your LMS data.
- Week 5 — Delivery + portal final state: Loom integration + delivery email (Resend) + portal “ready” state + debrief booking.
- Week 6 — Referral + nurture: Supabase referral tracker +
?ref=persistence + nurture email sequence (Resend + n8n). Run 2 pilot audits.
Cost to launch: $0/month (Hostinger VPS you already have + Stripe transaction fees only). Add ScoreApp ($49/mo if you keep it; or replace with Tally+n8n for $0). Add Folk Pro or Tolt later only when volume justifies it.
7. WHY THIS STACK IS ACTUALLY BETTER THAN GHL
Section titled “7. WHY THIS STACK IS ACTUALLY BETTER THAN GHL”- You own the data. Supabase is your source of truth — no per-contact pricing, no export headaches, no lock-in.
- Fully on-brand. Every touchpoint lives on dwadlane.com — your domain, your design, your portal. GHL portals scream “GHL.” Yours screams “Dwad Lane.”
- Slicker purchase. Stripe Checkout embedded on Framer is faster and more premium than GHL’s funnel/checkout.
- Infinitely customizable. Want a custom portal animation, a conditional intake flow, a specific email trigger? You just build it in n8n/Framer. No GHL feature limits.
- Costs nothing. GHL is $97–$297/mo. This is $0/mo until you scale.
- It matches your identity. You’re a technical builder with a Claude-first stack. A self-hosted, open-source, API-driven stack is the authentic move — and a great case study for the kind of AI-first automation you’re selling.
The audit you deliver to clients is literally built on the same philosophy you’re selling them. That’s a compelling story when they ask “how do you run your own business?”