Build the Facebook ads funnel (opt-in, self-hosted VSL, booking page, booked page, alerts)
ComingStatic Vercel funnel: ad click to email capture (Meta Pixel Lead event, server-side subscribe into ActiveCampaign with a Sheet backup) to VSL page to Calendly schedule to booked confirmation, with policies, consent banner, OG tags, sitemap.
Kit
website-template, launch-check
You need
| Account | Why | Free or paid | Plan |
|---|---|---|---|
| Claude Code (Anthropic Claude Pro or Max) | The AI operator every system runs through. Skills, hooks, memory, MCP servers and the Brain plugin all load inside Claude Code. | Paid | Claude Pro (20 USD/mo) works for light use; Max (100 USD or 200 USD/mo) for daily multi-hour sessions. Anthropic terms require each user to hold their own subscription; never share a login. |
| Node.js 24 (npm, npx) | Runs Claude Code, the Vercel CLI, HyperFrames renders, Playwright, the MCP servers and every serverless function locally. | Free | Free. Node 24 LTS (the Brain MCP server and Vercel functions target Node 24). |
| GitHub | Every site, dashboard and workflow lives in a repo. Actions run scheduled jobs (email snapshots, daily scrapes). Issues double as an email alert channel for bookings. | Free | Free plan. Actions minutes on the free plan cover the cron jobs used here (a few minutes a day). |
| Vercel | Hosts every site, funnel, dashboard and serverless API (subscribe, book, attribution, AC proxy). Runs the cron jobs declared in vercel.json. | Free tier available | Pro (20 USD/mo per seat). The Hobby plan forbids commercial use, so any client site or paid product must be on Pro. Hobby is fine for a personal portfolio. |
| Porkbun (domain registrar) | Owns the domain and points DNS at Vercel. Timo moved domains here from Wix. | Paid | About 10 USD to 15 USD per year per .com domain. No plan tiers. |
| ActiveCampaign | Email list, broadcasts, automations and tags. The email engine drafts into a dashboard queue and sends through the AC API; funnels subscribe leads via the API; replies come back through an AC webhook. | Paid | Marketing Lite or Plus (from about 15 USD to 49 USD/mo at 1,000 contacts). API access is on every plan. Webhooks (for reply tracking) need automations, which Lite has. |
| Meta Business Suite (Pixel, Conversions API, Marketing API) | Facebook and Instagram ads. The funnel fires Pixel events, the attribution system sends server-side Conversions API events, the Meta Ads tab pulls ad-level insights, and social posting reaches your Pages through Zernio. | Free | Business account is free; you pay for ad spend only. Requires a verified business and a domain verification TXT record for the Pixel. |
| Calendly | Booking page for discovery chats. The funnel embeds it, the booking-alert system polls it, the calls page reads upcoming events. | Free tier available | Free plan is enough for one event type and the API (Personal Access Tokens work on free). Standard (10 USD/mo) adds webhooks and reminders; the systems here poll instead, so free works. |
| Supabase | Postgres database, auth (dashboard logins), row level security, Realtime pulse, Edge Functions and pg_cron for every dashboard, the attribution tables, booking alerts and the Brain state. | Free tier available | Pro (25 USD/mo) for anything a client logs into. The free tier pauses a project after 7 days without traffic and caps an org at 2 active projects; a paused free project took three client dashboards offline at once (a project log). |
| ffmpeg + ffprobe | Every cut, mux, loudness pass, proxy, contact sheet and platform encode. The delivery encoder uses h264_videotoolbox on Apple Silicon. | Free | Free (Homebrew build includes VideoToolbox). |
| mlx-whisper (local transcription, Apple Silicon) | Word-level transcripts for rough cuts, captions, chapter timestamps and YouTube descriptions, all offline. | Free | Free; needs an Apple Silicon Mac with 16 GB+ RAM. Model whisper-large-v3-turbo downloads once (about 1.6 GB). |
| Discord (webhook channel) | Private detail channel for booking alerts and cancellations (invitee, time, answers) and pipeline notifications. | Free | Free. |
| ntfy.sh (push notifications) | Phone push for new bookings and the 2 hour and 30 minute meeting reminders. One HTTP POST, no SDK. | Free | Free public server (10,000 messages a month). Pushover is the paid upgrade if you need repeat-until-acknowledged. |
| Playwright + headless Chrome (and Safari for the final check) | Renders pages to PNG for visual QA, drives the dashboard verification protocol, captures library stills, renders HTML titles and animations offline. | Free | Free. Google Chrome installed for headless screenshots; Playwright installs its own Chromium and WebKit. |
What you bring
- Your headline, your promise and your button copy
- Your VSL video file
- Your testimonials, and written permission for each one
- Your Meta Pixel id
- Your booking link
- Your email platform list and tag ids
- Your call to action timestamp in the video
The steps
- Create the accounts and put every secret in Vercel env
- Build the four pages on one design system
- Write `/api/subscribe` with one guaranteed store and best-effort legs
- Encode the VSL and build the self-hosted player
- Build `/schedule` with Calendly inline and `/api/book`
- Build `/booked` and wire the Calendly redirect fallback
- Consent, Do Not Sell, GPC and the policies
- Booking alerts and reminders
- Attribution and the Meta ad URL parameters
- Launch check, deploy, verify live
Goes further if you have already built Encode once for the platform and ship through the delivery gate. You can build this without it.
Get the full playbook
Part of: Build your website