Glenhouse Live
Glenhouse Live is a creator-powered live distribution network: brand partners buy guaranteed live hours across a curated, contracted pool of TikTok creators. Behind the public site is the platform that runs it, with four roles and admin approval, campaigns and deals, Stripe Connect payouts, and a separate worker that watches the streams and fills in each deal's analytics.

At a glance
- Type
- Platform
- Industry
- Live streaming
- Live site
- glenhouselive.com
- Built with
- Next.js 14, TypeScript, Prisma on Postgres, Clerk, Stripe Connect, Playwright
- Timeline
- February to June 2026, 28 commits
- Codebase
- About 35,500 lines of TypeScript, 33 pages, 55 API routes and 15 data models
Four roles, approval first
Creators and brand partners each get their own workspace, and super admins and admins share the admin console. New creator and brand accounts start unapproved and wait on a holding page until an admin lets them in. The middleware checks each request's role, then every page layout and every API handler checks role and approval again, and with authentication unconfigured in production the app refuses every private route rather than opening up.
A visibility table decides what each role can see: brand partners see their own spend, creators see only their own payout, and the platform's own figures are for admins alone.
Payments run on Stripe Connect Express. Every amount is kept in whole cents and the breakdown always sums exactly to the deal total; payment amounts are read from the database, never from the request; and the payment webhook is signature-verified and idempotent. The payout flow is code-complete and running in Stripe's test mode.
The livestream worker
TikTok's API doesn't report live-stream metrics, so a standalone worker fills the gap. A headless browser driven by Playwright spots when a monitored creator goes live and captures screenshots, and a WebSocket connection records chat, gifts, likes and shares while the stream runs.
The worker runs outside Vercel because it holds long-lived connections. It posts to the app's ingest API with a shared key checked in constant time, stores screenshots in Vercel Blob behind an admin-only proxy, and fills in the linked deal's analytics when a stream ends.
The public site explains the model to brands; the dashboards behind the sign-in aren't shown here.
Highlights
- Role checks in middleware, then role and approval checks in page layouts and every API handler, failing closed when auth isn't configured.
- Whole-cent payment breakdowns that always sum to the deal total, with idempotent, signature-verified Stripe webhooks.
- TikTok tokens encrypted with AES-256-GCM, and decryption that fails closed.
- A Playwright and WebSocket worker that turns live streams into deal analytics.
Let's talk.
Tell me what you're building. I read every message myself and usually reply within one business day.

