cd /news/ai-products/playcall-is-the-open-source-alternat… Β· home β€Ί topics β€Ί ai-products β€Ί article
[ARTICLE Β· art-92840] src=github.com β†— pub= topic=ai-products verified=true sentiment=Β· neutral

Playcall is the open-source alternative to Gong

Playcall, an open-source alternative to Gong, grades whether sales calls were right for the specific buyer, using Next.js 16, React 19, Supabase, and the Vercel AI SDK with OpenAI, Anthropic, and 15 other providers. The project, available on GitHub, supports document parsing via LlamaParse, audio transcription via OpenAI Whisper, and enrichment via Exa or TheHog, with deployment on Vercel and Supabase.

read3 min views1 publishedAug 11, 2026
Playcall is the open-source alternative to Gong
Image: source

Most call scorers grade what you said. Playcall grades whether what you said was right for who you were talking to.

** Demo** Β·

Β·

SetupΒ·

Deploy

SecurityFramework: Next.js 16 (App Router) + React 19** Database / Auth**: Supabase (Postgres, Auth, RLS, Edge Functions)** AI**: Vercel AI SDK β€” OpenAI, Anthropic, and 15 other providers; BYOK per workspace** Document parsing**: LlamaParse (PDF, DOCX, PPTX, images, 130+ formats)** Audio transcription**: OpenAI Whisper** File uploads**: Vercel Blob** Enrichment**: Exa or TheHog (buyer/company context)** UI**: Tailwind CSS + shadcn/ui

  • Node.js 20+ and pnpm SupabaseaccountVercelaccountOpenAIAPI key (scoring + audio transcription)LlamaParseAPI key (free tier: 10k credits/month)- Enrichment key β€” Exa(EXA_API_KEY

) orTheHog(THEHOG_ACCESS_KEY

+THEHOG_SECRET_KEY

)

git clone https://github.com/Dphenomenal101/playcall.git
cd playcall
pnpm install

Go to supabase.com/dashboard β†’ New project. Once provisioned:

Authentication β†’ URL Configuration: set Site URL and add your domain to Redirect URLs (e.g.https://yourdomain.com/auth

)Authentication β†’ Email Settings: enable a custom SMTP provider β€” Supabase's built-in sender is rate-limited on the free tier

supabase login
supabase link --project-ref <your-project-ref>   # Project Settings β†’ General
supabase db push
supabase functions deploy process-job

Set the secrets the function needs. WORKSPACE_SECRETS_ENCRYPTION_KEY

must be the same value you set in your app environment β€” the Edge Function uses it to decrypt BYOK credentials:

supabase secrets set WORKSPACE_SECRETS_ENCRYPTION_KEY=your_key
supabase secrets set OPENAI_API_KEY=your_key
supabase secrets set ANTHROPIC_API_KEY=your_key
supabase secrets set EXA_API_KEY=your_key
supabase secrets set THEHOG_ACCESS_KEY=your_key
supabase secrets set THEHOG_SECRET_KEY=your_key
  • Create a Vercel project for this repo at vercel.com/new Storage β†’ Create β†’ Blobβ†’ connect to project- Pull env vars locally β€” this writes BLOB_READ_WRITE_TOKEN

to.env.local

:

vercel link
vercel env pull .env.local

.env.local

now has your Blob token. Add the remaining required values β€” use .env.example

as the reference for what's needed and why:

Supabase β€” from Project Settings β†’ API:

NEXT_PUBLIC_SUPABASE_URL

NEXT_PUBLIC_SUPABASE_ANON_KEY

SUPABASE_SERVICE_ROLE_KEY

LlamaParse β€” from cloud.llamaindex.ai:

LLAMA_CLOUD_API_KEY

β€” your API keyLLAMA_CLOUD_WEBHOOK_SECRET

β€” generate withopenssl rand -hex 32

LLAMA_CLOUD_WEBHOOK_URL

β€” set tohttps://yourdomain.com/api/webhooks/llamaparse

(or your ngrok URL for local dev)

App URL:

NEXT_PUBLIC_APP_URL

β€” your app's public base URL. Set tohttp://localhost:3000

for local dev, and your deployed domain (e.g.https://yourdomain.com

) in production. Used for invite links and the LlamaParse webhook URL.

Other secrets β€” generate locally:

openssl rand -base64 32   # β†’ WORKSPACE_SECRETS_ENCRYPTION_KEY (must match step 4)
openssl rand -hex 16      # β†’ CRON_SECRET
pnpm dev

Open localhost:3000 and complete the manager onboarding flow.

  • Click the button above (or import your repo at vercel.com/new) Storage β†’ Create β†’ Blobβ†’ connect to your project (BLOB_READ_WRITE_TOKEN

is injected automatically)Project Settings β†’ Environment Variablesβ€” add everything from.env.local

, but setNEXT_PUBLIC_APP_URL

to your deployed domain (nothttp://localhost:3000

)- Push to your default branch β€” Vercel deploys automatically and activates the daily keep-alive cron that prevents free-tier Supabase projects from pausing

app/
  manager/        Manager dashboard, onboarding, playbooks, settings
  rep/            Rep dashboard, call upload, scorecard
  api/            Route handlers, webhooks, cron
lib/
  data/           Supabase read/write logic
  ai/             Provider registry, BYOK config resolution
  enrichment/     Exa and TheHog enrichment providers
  integrations/   LlamaParse and third-party API clients
  extraction/     Whisper audio transcription + plain-text file reading
  security/       Credential encryption at rest
  jobs/           Async job dispatch
components/       Shared UI components
supabase/
  migrations/     Database schema
  functions/      Edge Functions (process-job)

Contributions are welcome.

  • Fork the repo and create a feature branch.
  • Run the app locally and verify your change in context.
  • Keep changes focused and include any docs updates that make the behavior clearer.
  • Open a pull request with a concise summary of what changed and why.

If your change affects setup, deployment, or security assumptions, update README.md and SECURITY.md in the same PR.

For security issues, do not open a public issue. Follow the reporting guidance in SECURITY.md.

── more in #ai-products 4 stories Β· sorted by recency
── more on @playcall 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain β€” perfect for shipping the agent you just read about.

$git push zahid main
β†’ Live at https://your-agent.zahid.host βœ“
Get free account β†’ Pricing
from €0/mo Β· no card required
LIVE [news/playcall-is-the-open…] indexed:0 read:3min 2026-08-11 Β· β€”